Я пытаюсь прочитать несколько фидов Rss/Atom с помощью
var synFeed = SyndicationFeed.Load(reader);
Но это бросает на малейшую проблему. Например, когда один элемент содержит несколько тегов HTML в поле описания, вообще невозможно прочитать Feed. Он также не любит теги RDF, например, SlashDot.
Обратите внимание, что Load()
является статическим методом без перегрузок.
Есть ли другой способ импортировать Feed через System.ServiceModel.Syndication.SyndicationFeed? Я не мог найти его.
Btw: Я использую С# 4, но любые ответы Framework 3.5 тоже хороши. И я знаю о Argotic и других библиотеках, просто хочу посмотреть, насколько применимы рамки Syndication.
Хенк, причина, по которой вы не можете читать каналы из Slashdot, связана с тем, что она использует RSS 1.0..NET Framework включает только встроенную поддержку RSS 2.0 и Atom 1.0.
Тем не менее, можно создать свой собственный класс, который расширяет класс SyndicationFeedFormatter и анализирует RSS 1.0. Просмотрите мою статью по этой теме для описания процесса вместе с кодом С# для такого класса: Синдикация и потребление RSS 1.0 (RDF) Каналы в ASP.NET 3.5.