SyndicationFeed & SyndicationItem LastUpdatedTime - PullRequest
0 голосов
/ 07 марта 2011

Я пытаюсь использовать класс SyndicationFeed для получения контента из канала, но для некоторых каналов он работает нормально, а для других - нет.

Например, когда я хочу получать фиды от http://www.alistapart.com/site/rss, LastUpdatedTime имеет значение 01-01-0001 для всех элементов фида и самого фида.
Есть ли что-то, что мне нужно сделать? или, может быть, SyndicationFeed не поддерживает все веб-сайты для считывания с них всей информации?

пример кода, который я использую:

var feed = SyndicationFeed.Load(XmlReader.Create("http://www.alistapart.com/site/rss"));
var feedPosts = feed.Items; // here all feedPosts have the invalid LastUpdatedTime, but if i go to the website i can see that there is actually one

1 Ответ

1 голос
/ 07 марта 2011

Вы смотрите на LastUpdatedTime, тогда как указанная вами дата в RSS не является LastUpdatedTime и не является более распространенной датой pubDate.Обратите внимание на пространство имен, которое "http://purl.org/dc/elements/1.1/".

Большинство из этих элементов являются необязательными, и вы должны иметь возможность жить без них или использовать альтернативные.

У меня есть программное обеспечение Podcast, и у меня естьнашел, что реализация SyndicationFeed очень плохая и хрупкая для работы с различными датами, существующими в реальном мире.

ОБНОВЛЕНИЕ

есть способ использовать классы фреймворка для анализаэто нестандартные атрибуты?

Да, посмотрите на Расширения элементов .

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