.net 对Atom提要中的名称空间感到困惑
两者之间有什么区别吗.net 对Atom提要中的名称空间感到困惑,.net,feed,atom-feed,opensearch,syndicationfeed,.net,Feed,Atom Feed,Opensearch,Syndicationfeed,两者之间有什么区别吗 <opensearch:totalResults>1000</opensearch:totalResults> 编辑 根提要标记如下所示 <feed xml:lang="en-US" p1:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:p1="xmlns" xmlns="http://www.w3.org/2005/Atom"> <totalResults xml
<opensearch:totalResults>1000</opensearch:totalResults>
编辑
根提要标记如下所示
<feed xml:lang="en-US" p1:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:p1="xmlns" xmlns="http://www.w3.org/2005/Atom">
<totalResults xmlns="http://a9.com/-/spec/opensearch/1.1/">1000</totalResults>
feed.AttributeExtensions.Add(
new XmlQualifiedName("opensearch", "xmlns"),
@"http://a9.com/-/spec/opensearch/1.1/");
feed.ElementExtensions.Add("totalResults", @"http://a9.com/-/spec/opensearch/1.1/", "1000");
添加totalresults元素的代码如下所示
<feed xml:lang="en-US" p1:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:p1="xmlns" xmlns="http://www.w3.org/2005/Atom">
<totalResults xmlns="http://a9.com/-/spec/opensearch/1.1/">1000</totalResults>
feed.AttributeExtensions.Add(
new XmlQualifiedName("opensearch", "xmlns"),
@"http://a9.com/-/spec/opensearch/1.1/");
feed.ElementExtensions.Add("totalResults", @"http://a9.com/-/spec/opensearch/1.1/", "1000");
名称空间 默认名称空间从父元素继承。或者,您可以为您的孩子定义新的别名以与
xmlns:alias=
语法一起使用,或者您可以使用xmlns=
语法重新定义用于元素(当然还有它的孩子)的默认命名空间
第一个例子是:
<opensearch:totalResults>1000</opensearch:totalResults>
但请注意,您对给定给命名空间的特定别名的控制有限或没有控制权。为了做到这一点,您必须对XML序列化过程进行一些控制…无需担心。我意识到我添加的名称空间不正确。应该是
feed.AttributeExtensions.Add(
new XmlQualifiedName("opensearch", "http://www.w3.org/2000/xmlns/"),
"http://a9.com/-/spec/opensearch/1.1/");
更加完整
在通道元素上设置指定命名空间,方法为:
feed.AttributeExtensions.Add(
new XmlQualifiedName("opensearch", XNamespace.Xmlns.ToString()),
"http://a9.com/-/spec/opensearch/1.1/");
并在totalResults上指定名称空间:
feed.ElementExtensions.Add("totalResults", "http://a9.com/-/spec/opensearch/1.1/", "1000");
这将给你:
<opensearch:totalResults>1000</opensearch:totalResults>
1000
我想知道父标记中的名称空间是否混乱。看我的编辑;我将在这里进行更多解释。当您说我对给定给名称空间的别名几乎没有控制权时,您是指我在根提要标记中得到的p1:opensearch属性吗?关于“控制”对于获得输出的特定别名,我认为在编写/序列化它时,您需要在文档的更高层注册名称空间/别名。我不确定SynchronizationFeed是如何序列化的,所以我恐怕没有太多帮助……尽管查看了编辑结果,但看起来尽管没有别名前缀,但在读取/样式表输出XML时,这应该可以实现同样的效果。