Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检索RSS源(vb.net项目)时出错_Vb.net_Rss_Feed - Fatal编程技术网

检索RSS源(vb.net项目)时出错

检索RSS源(vb.net项目)时出错,vb.net,rss,feed,Vb.net,Rss,Feed,因此,我正在vb.net上开发一个项目来管理rss源,如果rss源附带了一个文件,它会自动将文件下载到一个文件夹中。我知道一些关于vb.net的知识,但在Xml中,我已经迈出了第一步 我已经成功地从链接中正确下载了内容,我在网上找到了以下代码: Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(tsCboFeeds.Text), HttpWebRequest) webReq.AutomaticDecompression =

因此,我正在vb.net上开发一个项目来管理rss源,如果rss源附带了一个文件,它会自动将文件下载到一个文件夹中。我知道一些关于vb.net的知识,但在Xml中,我已经迈出了第一步

我已经成功地从链接中正确下载了内容,我在网上找到了以下代码:

Dim webReq As HttpWebRequest = DirectCast(WebRequest.Create(tsCboFeeds.Text), HttpWebRequest)

webReq.AutomaticDecompression = DecompressionMethods.GZip

Dim resp As HttpWebResponse = DirectCast(webReq.GetResponse(), HttpWebResponse)
Dim xml As String
Using sr As New StreamReader(resp.GetResponseStream())
   xml = sr.ReadToEnd()
End Using

doc.LoadXml(xml)
它适用于我发现的99%的订阅源,唯一的问题是在附件标签中有下载url的订阅源,如以下示例(链接是文章的url,而不是文件的url):

我没有得到标签中的信息,它会返回整个xml文档

正如我提到的,我不太了解Xml,但现在我尝试了许多在线找到的解决方案,甚至改变了获取文件的方法,但主要是因为遇到了一些问题,这种方法对我的项目来说是最好的


有什么想法吗?

我认为问题在于您的xpath表达式是错误的。在Xml中,我看到一个名为的元素,而不是名为的元素

你可以试试这个:

Dim nodesLink As XPathNodeIterator = navigator.Select("/rss/channel/item/enclosure")
nodesLink.Attributes("url")

你好感谢您的回复,我尝试编写nodesLink.attributes,但我的项目无法识别该属性。我已经有很多进口货了,但也许我少了一件。我已经导入的是:Imports System.Collections.Specialized Imports System.Collections Imports System.Linq Imports System.Web Imports System.Xml Imports System.Net Imports System.Xml.XPath Imports System.IO Imports System.text我混淆了XPathNodeIterator en XmlDocument,很抱歉。我认为您应该使用此代码(未测试):
Dim xp As XPathNavigator=nodesLink.Current
xp.GetAttribute(“url”,无任何内容)
再次感谢您的帮助。但是没有帮助:/I我想rss太坏了,无法阅读。谢谢你
Dim nodesLink As XPathNodeIterator = navigator.Select("/rss/channel/item/enclosure_url")
Dim nodesLink As XPathNodeIterator = navigator.Select("/rss/channel/item/enclosure")
nodesLink.Attributes("url")