频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

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

来源:天极开发 作者: 出处:巧巧读书 2006-02-09 进入讨论组
下一页 1 2 
访问 http://www.qqread.com/vb/f902284100.html
  “冲浪”一词在五六年前很时髦,现在则是菜鸟的代名词,老鸟们张嘴就是个性化,而最容易个性化的则是RSS。通过RSS订阅自己喜欢的内容,不再在网上盲目溜达浪费时间。
各大网站也纷纷推出RSS订阅服务,网上也有不少RSS阅读器下载,不过作为程序员有必要掌握RSS阅读器的设计原理和方法。

  RSS提供给网站以一种非常简单的共享方式来和其他站点或者客户端程序共享内容。一个RSS Feed,或者可以称其为频道(channel),是一个简单的XML文件,它使用一些预定义的标记(tag)来描述站点和一些项(item)的集合。每个项提供一个标题,一个转向的URL,和对该项的描述。不同的组织开发了不同版本的RSS,不过它们非常相似。

  RSS浏览器的总览

  使用VB2005编程显示RSS Feed或者频道内容是非常简单的。本文将教会你编写一个简单的RSS浏览器。这个浏览器允许你填写一个RSS Feed的URL地址,然后它将为你取回该频道的标题,内容,描述和链接等相关信息。它也将获取和显示该Feed相关的项的列表。它将每个项的标题显示在一个listbox里,地址显示在一个LinkLabel里,项的描述和URL则显示在一个WebBrower控件里。(见图1)

“冲浪”靠边 VB2005实现RSS览尽天下事(图一)


图1
  为了简单起见,我将只用RSS2.0进行测试。同样的,我使用VB2005 Express Edition作为开发工具,读者可以从Microsoft公司得到这个开发工具。

  RSSItem和RSSChannel类

  两个类组成了这个RSS浏览器的核心部分:RSSItem和RSSChannel。RSSItem类是一个简单的类,它除了构造函数以外不提供其他的方法。RSSItem类简单的封装了RSS项的标题、链接和描述属性。

  RSSItem类有3个私有成员其相关属性。构造函数简单的将每个成员初始化为空字符串,如下:

Private m_Title As String
Private m_Link As String
Private m_Description As String

Public Sub New()
 Title = ""
 Link = ""
 Description = ""
End Sub

  RSSChannel类是这个程序真正的核心所在。它像RSSItem类封装RSS项一样,封装了RSS频道的标题,链接和描述等属性。然而,它真正的功能体现在提供了获取RSS频道的信息和频道相关项的信息的方法。

  RSSChannel类同样也拥有三个私有成员变量及相关属性。它还拥有一个私有成员和相关属性来存储RSS频道的URL。构造函数使用一个指向RSS Feed的URL作为参数。它使用此参数来初始化FeedURL,剩下的成员被初始化为空字符串。然后它调用GetChannelInfo来获取频道属性,如下:

Private m_FeedURL As String
Private m_Title As String
Private m_Link As String
Private m_Description As String

Public Sub New(ByVal url As String)
 FeedURL = url
 Title = ""
 Link = ""
 Description = ""
 GetChannelInfo()
End Sub

  GetChannelInfo 方法

  在这个方法里,程序创建了一个XmlNodeList的对象,并且调用GetXMLDoc函数,将字符串"rss/channel"作为Node路径。在函数返回的时候,你将获得一个包含有频道标题、链接和描述属性的XML的XMLNodeList。通过使用XmlNodeList里存储的值,你可以设置你的RSSChannel类的属性,如下:

Private Sub GetChannelInfo()
 Dim rss As XmlNodeList = GetXMLDoc("rss/channel")
 Title = rss(0).SelectSingleNode("title").InnerText
 Link = rss(0).SelectSingleNode("link").InnerText
 Description = rss(0).SelectSingleNode("description").InnerText
End Sub
进入讨论组讨论。
下一页 1 2 
收藏此文】【 】【打印】【关闭
较早的文章:互联网服务策略

较新的文章:VB5.0调用Office97技巧
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章