2012-02-16 3 views
2

Я добавляю некоторые настраиваемые теги подкастов iTunes в RSS-канал.Обозначение префикса пространства имен SyndicationFeed AttributeExtensions

 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;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;amp; Recreation"> 
    <itunes:category text="Amateur"> 
    </itunes:category> 
</itunes:category> 
+0

У меня такая же проблема, вы нашли решение? – mimo

ответ

0

Вы знаете, что я обнаружил, что проще всего сделать, это просто создать его, как правило, а затем использовать Feedburner, чтобы представить его в ITunes и сделать ITunes совместимы.