导航一个特定RSS Feed的节点

时间:2015-01-05 18:25:36

标签: c# xml vb.net rss

我正在创建一个自定义(私有,非商业)实用程序来解析RSS提要。由于我已经需要这么做几年了,所以我在CodeDisplay.com

提到了一个例子。

我在VB.NET中提供代码,但是 - 我确信C#程序员也可以识别这些概念。

简而言之,有问题的代码如下。我的第一次迭代使用了路透社的饲料。

Dim MyRssRequest As WebRequest = WebRequest.Create("http://feeds.reuters.com/reuters/topNews")
Dim MyRssResponse As WebResponse = MyRssRequest.GetResponse()

Dim MyRssStream As Stream = MyRssResponse.GetResponseStream()

Dim MyRssDocument As XmlDocument = New XmlDocument()
MyRssDocument.Load(MyRssStream)

Dim MyRssList As XmlNodeList = MyRssDocument.SelectNodes("rss/channel/item")

Dim sTitle As String = ""
Dim sLink As String = ""
Dim sDescription As String = ""

'Iterate/Loop through RSS Feed items
For i As Integer = 0 To MyRssList.Count - 1
...

此代码可根据需要运行。但是 - 如果我将相应的行更改为以下(到另一个新闻来源):

Dim MyRssRequest As WebRequest = WebRequest.Create("http://api.breakingnews.com/api/v1/item/?format=rss")

...和...

Dim MyRssList As XmlNodeList = MyRssDocument.SelectNodes("feed/entry")

...这段代码似乎无法找到任何"条目"项目。我使用http://xmlgrid.net/处的工具来理智地检查我对层次结构的理解。这个工具似乎报告说两个XML结构都很好。

我很好奇.NET XML(System.xml)对" End of Line"人物,但我发现这是值得怀疑的。

我觉得这很简单,我忽略了。

更新:

我可以使用

单步执行这些项目
 Dim MyRssList As XmlNodeList = MyRssDocument.ChildNodes(1).ChildNodes

对于我对本文档的XPath的理解,我一定会遗漏一些东西。我希望能够使用XPath使用.SelectNodes方法(函数)。

0 个答案:

没有答案