C # потреблять RSS-канал, содержащий XML-таблицы стилей? - PullRequest
1 голос
/ 29 июня 2010

У меня проблема с анализом RSS-канала с помощью c #.Я использовал этот метод для загрузки канала.XDocument rssFeed = XDocument.Load (@url);Но когда я замечаю, что в ленте есть таблица стилей xml, этот метод дает сбой, говоря, что xml плохо отформатирован ...проанализировать любой RSS-канал с помощью C #?

Спасибо за вашу помощь

Ответы [ 2 ]

3 голосов
/ 30 июня 2010

Этот код работает для меня

    static XDocument DownloadPage()
    {
        var req = (HttpWebRequest)WebRequest.Create("http://www.channelnews.fr/accueil.feed?type=rss");
        req.UserAgent = "Mozilla";

        using(var response = req.GetResponse())
        using(var stream = response.GetResponseStream())
        using (var reader = new StreamReader(stream))
            return XDocument.Load(reader);
    }

Обратите внимание, что если вы пропустите настройку UserAgent, ответ будет содержать строку 'DOS', которая определенно не является xml:)

0 голосов
/ 30 марта 2011

Этот работает лучше:

XDocument xdoc = XDocument.Load("http://pedroliska.wordpress.com/feed/");

var items = from i in xdoc.Descendants("item")
            select new
            {
                Title = i.Element("title").Value
            };

Так что теперь вы можете получить доступ к rss-заголовкам, выполнив цикл или что-то вроде:

items[0].Title

И только код извлекает заголовок из RSS-канала, вы можете получить описание, ссылку, pubDate и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...