我编写了一段代码,它使用System.ServiceModel.Syndication
库来解析 RSS 提要。
问题是,对于我的一个提要(由 facebook 提供),我在响应末尾得到以下行,并且 Syndication 库无法解析提要,因为它说文本是无效的 XML,它说这是因为这个部分:
...
</channel>
<access:restriction relationship="deny" xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" />
</rss>
我确定这里缺少一些东西,因为提要和解析库都来自大公司(分别是 Facebook 和 Microsoft)。
你们中的任何人都可以帮忙吗?或者一个更好的不依赖于 XML 有效性的解析器?
PS这是我的RSS提要网址:
http ://www.facebook.com/feeds/page.php?id=202296766494181&format=rss20
这是我解析提要响应的方式:
var stringReader = new StringReader(resp);
var xreader = XmlReader.Create(stringReader);
var xfeed = System.ServiceModel.Syndication.SyndicationFeed.Load(xreader);
我得到的例外是:
System.Xml.XmlException: 'Element' is an invalid XmlNodeType. Line 282, position 4.
在 System.Xml.XmlReader.ReadEndElement() ...