.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时,这应该可以实现同样的效果。