科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件“冲浪”靠边 VB2005实现RSS览尽天下事

“冲浪”靠边 VB2005实现RSS览尽天下事

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

“冲浪”一词在五六年前很时髦,现在则是菜鸟的代名词,老鸟们张嘴就是个性化,而最容易个性化的则是RSS。

作者:维维 来源:天极开发 2007年11月9日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
GetXMLDoc方法

  GetXMLDoc函数使用一个Node路径作为参数。该路径指定了你需要获取的XML的哪个部分。这个函数首先创建一个空的XmlNodeList,这里将存储函数返回时的Node内容。然后它创建一个WebRequest和WebResponse对象来从URL里获取数据,并且取得响应。当你获取一个响应之后,你可以创建一个Stream对象来存放从WebResponse对象的GetResponseStream方法中获取的数据。然后你可以创建一个XmlDocument对象并通过Load方法来调用其中的数据。这时,你可以轻松的使用SelectedNodes方法来访问XML数据,并且指定你想访问哪个Node:

Private Function GetXMLDoc(ByVal node As String) As XmlNodeList

 Dim tempNodeList As System.Xml.XmlNodeList = Nothing

 Dim request As WebRequest = WebRequest.Create(Me.FeedURL)
 Dim response As WebResponse = request.GetResponse()
 Dim rssStream As Stream = response.GetResponseStream()
 Dim rssDoc As XmlDocument = New XmlDocument()
 rssDoc.Load(rssStream)
 tempNodeList = rssDoc.SelectNodes(node)
                           
 Return tempNodeList
End Function


  然后,你可以使用相同的GetXMLDoc函数来获取真正的RSS Feed项。

  GetChannelItem方法

  GetChannelItem和GetChannelInfo工作方式非常类似,主要区别在于在这里,你将会处理多个项,这就需要你使用一个For循环来读入每个项并且存储在一个ArrayList结构里。如果需要处理所有的项,可以直接返回这个ArraryList对象:

Public Function GetChannelItems() As ArrayList
 Dim tempArrayList As New ArrayList

 Dim Dim rssItems As XmlNodeList = GetXMLDoc("rss/channel/item")
 Dim Dim item As XmlNode
 For Each item In rssItems
  Dim newItem As New RSSItem
  With newItem
   .Title = item.SelectSingleNode("title").InnerText
   .Link = item.SelectSingleNode("link").InnerText
   .Description =item.SelectSingleNode("description").InnerText
  End With
  tempArrayList.Add(newItem)
 Next

 Return tempArrayList
End Function

  结束语

  本文的源代码你可以从这里下载,当然你可以给它添加更多的功能,如:

  ·增加错误处理代码,使用Try...Catch...Finally,以处理遇到的一些错误;

  ·增加对多个版本的RSS的支持;

  ·扩展RSSChannel类,增加包括语言,文档,版权,生成器等的信息解析支持,扩展RSSItem类来包含对公布时间,GUID和评论标记的解析支持(当前只支持处理RSS Feed标记);

  ·增强对图像标记的处理(目前只是提供了一个图像地址链接和标题)

  ·增强同时访问多个RSS项的处理

  ·增加数据库支持,来记录你访问过的RSS Feed,以及每个频道里你读过的的若干项。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章