我正在尝试使用SyndicationFeed类从Feed中获取内容,但是对于某些Feed,它可以正常运行,但对于其他Feed则不然。
例如,当我想从http://www.alistapart.com/site/rss获取Feed时,LastUpdatedTime的值为01-01-0001,用于所有Feed项和Feed本身。
有什么我需要做的吗?或者,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
答案 0 :(得分:1)
您正在查看LastUpdatedTime
,而您提到的RSS中的日期不是LastUpdatedTime
,也不是更常见的日期pubDate
。请注意名称空间"http://purl.org/dc/elements/1.1/"
。
这些元素中的大多数都是可选的,您必须能够在没有它们的情况下生活或使用其他元素。
我已经创建了一个Podcast软件,我发现SyndicationFeed
实现非常糟糕和脆弱,无法处理现实世界中的各种日期。
有没有办法使用框架 用于解析此非标准的类 属性?
是的,请查看Element Extensions。