SyndicationFeed AttributeExtensions命名空间前缀
本文关键字:前缀 命名空间 AttributeExtensions SyndicationFeed | 更新日期: 2023-09-27 18:24:50
我正在向RSS提要添加一些自定义的iTunes播客标签。
feed.AttributeExtensions.Add(new XmlQualifiedName(itunesPrefix,
"http://www.w3.org/2000/xmlns/"), itunesNs);
var extensions = feed.ElementExtensions;
extensions.Add(new SyndicationElementExtension("category", itunesNs, "Business"));
var categoryElem = XName.Get("category", itunesNs);
extensions.Add(
new XElement(categoryElem,
new XAttribute("text", "Sports & Recreation"),
new XElement(categoryElem,
new XAttribute("text", "Amateur")
)
).CreateReader()
);
输出为:
<itunes:category>Business</itunes:category>
<category text="Sports &amp; Recreation" xmlns="http://www.itunes.com/dtds/podcast-1.0.dtd">
<category text="Amateur">
</category>
</category>
为什么SyndicationElementExtension
正确地添加了命名空间前缀"itunes",而传递XmlReader实例却没有?
我期望的输出是:
<itunes:category text="Sports &amp; Recreation">
<itunes:category text="Amateur">
</itunes:category>
</itunes:category>
你知道我发现最简单的方法就是正常创建它,然后使用Feedburner将它提交到iTunes并使其兼容。