续用VB.net做RSS阅读器

继续上次做的RSS阅读器。
http://www.cnblogs.com/aowind/archive/2005/03/16/119841.html

这次做成了博客园的专用阅读器了,给左边加上了一个treeview,专门用来显示博客园的分类和博客列表。嘿嘿
下面是新版的图片
续用VB.net做RSS阅读器
上次的源代码已提供出来了
http://www.cnblogs.com/aowind/archive/2005/03/17/120543.html
这次就只发一些新增加的内容

首先,要加一个treeview,当然加在哪里自己定了,一般习惯就加在我上图这里了
先给它定义一个根和两个子节点,名字分别是:博客园,博客园分类,博客园列表

下面先来写读博客园分类的过程
续用VB.net做RSS阅读器'读取博客园分类
续用VB.net做RSS阅读器续用VB.net做RSS阅读器
    Private Sub loadport()Sub loadport()
续用VB.net做RSS阅读器        
Dim i As Integer
续用VB.net做RSS阅读器        
Dim xmlPort As New XmlDocument
续用VB.net做RSS阅读器        StatusBar1.Text 
= "正在读取博客园分类信息续用VB.net做RSS阅读器"
续用VB.net做RSS阅读器
        xmlPort.Load("http://www.cnblogs.com/CatalogOpml.aspx")
续用VB.net做RSS阅读器        xmlPort.Save(Application.StartupPath 
& "~port.xml")
续用VB.net做RSS阅读器        
Dim Portnodelist As XmlNodeList
续用VB.net做RSS阅读器        Portnodelist 
= xmlPort.SelectNodes("/opml/body/outline/outline")
续用VB.net做RSS阅读器        
For i = 0 To Portnodelist.Count - 1
续用VB.net做RSS阅读器            TreeView1.Nodes.Item(
0).Nodes.Item(0).Nodes.Add(Portnodelist(i).Attributes.ItemOf("title").InnerText())
续用VB.net做RSS阅读器        
Next
续用VB.net做RSS阅读器        StatusBar1.Text 
= "完成"
续用VB.net做RSS阅读器
    End Sub

上次很多东东都没说细,这次说细一点,
http://www.cnblogs.com/CatalogOpml.aspx这个就是博客园分类列表的XML地址了,在博客园的首面有公布的
接下来存入一个临时文件中以供后面使用
TreeView1.Nodes.Item(0).Nodes.Item(1).Nodes.Add()
这个方法就是给treeview1根节点下面的第一个节点添加子节点了
listnodelist(i).Attributes.ItemOf("title").InnerText()
这个方法是取出XML中这一节点列表中INDEX为I的项的title属性的值

再下来是读取博客列表了,就不用重复说明
续用VB.net做RSS阅读器    '读取博客列表
续用VB.net做RSS阅读器续用VB.net做RSS阅读器
    Private Sub loadlist()Sub loadlist()
续用VB.net做RSS阅读器        
Dim i As Integer
续用VB.net做RSS阅读器        
Dim xmlList As New XmlDocument
续用VB.net做RSS阅读器        StatusBar1.Text 
= "正在读取博客列表信息续用VB.net做RSS阅读器"
续用VB.net做RSS阅读器
        xmlList.Load("http://www.cnblogs.com/Opml.aspx")
续用VB.net做RSS阅读器        xmlList.Save(Application.StartupPath 
& "~list.xml")
续用VB.net做RSS阅读器        
Dim listnodelist As XmlNodeList
续用VB.net做RSS阅读器        listnodelist 
= xmlList.SelectNodes("/opml/body/outline")
续用VB.net做RSS阅读器        
For i = 0 To listnodelist.Count - 1
续用VB.net做RSS阅读器            TreeView1.Nodes.Item(
0).Nodes.Item(1).Nodes.Add(listnodelist(i).Attributes.ItemOf("title").InnerText())
续用VB.net做RSS阅读器        
Next
续用VB.net做RSS阅读器        StatusBar1.Text 
= "完成"
续用VB.net做RSS阅读器
    End Sub

再接下来就是treeview节点的选择事件的处理过程了
续用VB.net做RSS阅读器续用VB.net做RSS阅读器Private Sub TreeView1_AfterSelect()Sub TreeView1_AfterSelect(ByVal sender As System.ObjectByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
续用VB.net做RSS阅读器        
Select Case TreeView1.SelectedNode.Text
续用VB.net做RSS阅读器            
Case "博客园分类"
续用VB.net做RSS阅读器
                loadport()
续用VB.net做RSS阅读器            
Case "博客列表"
续用VB.net做RSS阅读器
                loadlist()
续用VB.net做RSS阅读器            
Case "博客园"
续用VB.net做RSS阅读器

续用VB.net做RSS阅读器
            Case Else
续用VB.net做RSS阅读器                
Dim i, j As Integer
续用VB.net做RSS阅读器                
Dim xmltitle As New XmlDocument
续用VB.net做RSS阅读器                xmltitle.Load(Application.StartupPath 
& "~port.xml")
续用VB.net做RSS阅读器                
Dim nodelist As XmlNodeList
续用VB.net做RSS阅读器                nodelist 
= xmltitle.SelectNodes("/opml/body/outline/outline")
续用VB.net做RSS阅读器                j 
= nodelist.Count - 1
续用VB.net做RSS阅读器                
For i = 0 To j
续用VB.net做RSS阅读器                    
If nodelist(i).Attributes.ItemOf("title").InnerText() = TreeView1.SelectedNode.Text Then
续用VB.net做RSS阅读器                        TextBox1.Text 
= nodelist(i).Attributes.ItemOf("xmlUrl").InnerText()
续用VB.net做RSS阅读器                        thread 
= New Thread(AddressOf loadrss)
续用VB.net做RSS阅读器                        thread.Start()
续用VB.net做RSS阅读器                        
Exit For
续用VB.net做RSS阅读器                    
End If
续用VB.net做RSS阅读器                
Next
续用VB.net做RSS阅读器
续用VB.net做RSS阅读器                xmltitle.Load(Application.StartupPath 
& "~list.xml")
续用VB.net做RSS阅读器                nodelist 
= xmltitle.SelectNodes("/opml/body/outline")
续用VB.net做RSS阅读器                j 
= nodelist.Count - 1
续用VB.net做RSS阅读器                
For i = 0 To j
续用VB.net做RSS阅读器                    
If nodelist(i).Attributes.ItemOf("title").InnerText() = TreeView1.SelectedNode.Text Then
续用VB.net做RSS阅读器                        TextBox1.Text 
= nodelist(i).Attributes.ItemOf("xmlUrl").InnerText()
续用VB.net做RSS阅读器                        thread 
= New Thread(AddressOf loadrss)
续用VB.net做RSS阅读器                        thread.Start()
续用VB.net做RSS阅读器                        
Exit For
续用VB.net做RSS阅读器                    
End If
续用VB.net做RSS阅读器                
Next
续用VB.net做RSS阅读器        
End Select
续用VB.net做RSS阅读器    
End Sub

三个过程,还算清淅了,嘿嘿!这个功能就完成了
当然还能加上别的Opml的导入功能
我这里分类名是死的,其实这些也是可以动态取出来的。
上一篇:FAQ系列 | InnoDB Monitor被自动打开


下一篇:MYSQL常用查命令