Префикс пространства имен SyndicationFeed AttributeExtensions - PullRequest
2 голосов
/ 17 февраля 2012

Я добавляю несколько пользовательских тегов подкастов iTunes в канал RSS.

        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>

1 Ответ

0 голосов
/ 12 апреля 2012

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

...