现在的位置: 首页 > 综合 > 正文

用VB.NET写的一个简易的RSS阅读器

2013年01月10日 ⁄ 综合 ⁄ 共 6342字 ⁄ 字号 评论关闭

源代码如下:
Imports System.Xml 

Imports System.Threading 


Public Class Form1 

Inherits System.Windows.Forms.Form 

#Region 
" Windows 窗体设计器生成的代码 " 


Public Sub New() 

MyBase.New() 


'该调用是 Windows 窗体设计器所必需的。 

InitializeComponent() 


'在 InitializeComponent() 调用之后添加任何初始化 



End Sub
 


'窗体重写 dispose 以清理组件列表。 

Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean

If disposing Then 

If Not (components Is NothingThen 

components.Dispose() 

End If 

End If 

MyBase.Dispose(disposing) 

End Sub
 


'Windows 窗体设计器所必需的 

Private components As System.ComponentModel.IContainer 


'注意: 以下过程是 Windows 窗体设计器所必需的 

'
可以使用 Windows 窗体设计器修改此过程。 

'
不要使用代码编辑器修改它。 

Friend WithEvents ListBox1 As System.Windows.Forms.ListBox 

Friend WithEvents Button1 As System.Windows.Forms.Button 

Friend WithEvents AxWebBrowser1 As AxSHDocVw.AxWebBrowser 

Friend WithEvents Label1 As System.Windows.Forms.Label 

Friend WithEvents Label2 As System.Windows.Forms.Label 

Friend WithEvents TextBox1 As System.Windows.Forms.TextBox 

Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar 

Friend WithEvents Label4 As System.Windows.Forms.Label 

<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() 

Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1)) 

Me.ListBox1 
= New System.Windows.Forms.ListBox 

Me.Button1 
= New System.Windows.Forms.Button 

Me.AxWebBrowser1 
= New AxSHDocVw.AxWebBrowser 

Me.Label1 
= New System.Windows.Forms.Label 

Me.Label2 
= New System.Windows.Forms.Label 

Me.TextBox1 
= New System.Windows.Forms.TextBox 

Me.StatusBar1 
= New System.Windows.Forms.StatusBar 

Me.Label4 
= New System.Windows.Forms.Label 

CType(Me.AxWebBrowser1, System.ComponentModel.ISupportInitialize).BeginInit() 

Me.SuspendLayout() 

' 

'
ListBox1 

'
 

Me.ListBox1.Location = New System.Drawing.Point(067

Me.ListBox1.Name 
= "ListBox1" 

Me.ListBox1.Size 
= New System.Drawing.Size(727108

Me.ListBox1.TabIndex 
= 0 

' 

'
Button1 

'
 

Me.Button1.Location = New System.Drawing.Point(6295

Me.Button1.Name 
= "Button1" 

Me.Button1.Size 
= New System.Drawing.Size(9456

Me.Button1.TabIndex 
= 1 

Me.Button1.Text 
= "读取" 

' 

'
AxWebBrowser1 

'
 

Me.AxWebBrowser1.Enabled = True 

Me.AxWebBrowser1.Location 
= New System.Drawing.Point(-7184

Me.AxWebBrowser1.OcxState 
= CType(resources.GetObject("AxWebBrowser1.OcxState"), System.Windows.Forms.AxHost.State) 

Me.AxWebBrowser1.Size 
= New System.Drawing.Size(727480

Me.AxWebBrowser1.TabIndex 
= 2 

' 

'
Label1 

'
 

Me.Label1.Location = New System.Drawing.Point(026

Me.Label1.Name 
= "Label1" 

Me.Label1.Size 
= New System.Drawing.Size(62415

Me.Label1.TabIndex 
= 3 

Me.Label1.Text 
= "网站地址:" 

' 

'
Label2 

'
 

Me.Label2.Location = New System.Drawing.Point(045

Me.Label2.Name 
= "Label2" 

Me.Label2.Size 
= New System.Drawing.Size(62414

Me.Label2.TabIndex 
= 4 

Me.Label2.Text 
= "网站描述:" 

' 

'
TextBox1 

'
 

Me.TextBox1.Location = New System.Drawing.Point(720

Me.TextBox1.Name 
= "TextBox1" 

Me.TextBox1.Size 
= New System.Drawing.Size(55220

Me.TextBox1.TabIndex 
= 6 

Me.TextBox1.Text 
= "Http://Blog.CSDN.Net/AppleBBS/Rss.aspx" 

' 

'
StatusBar1 

'
 

Me.StatusBar1.Location = New System.Drawing.Point(0495

Me.StatusBar1.Name 
= "StatusBar1" 

Me.StatusBar1.Size 
= New System.Drawing.Size(72622

Me.StatusBar1.TabIndex 
= 7 

Me.StatusBar1.Text 
= "StatusBar1" 

' 

'
Label4 

'
 

Me.Label4.Location = New System.Drawing.Point(06

Me.Label4.Name 
= "Label4" 

Me.Label4.Size 
= New System.Drawing.Size(7212

Me.Label4.TabIndex 
= 8 

Me.Label4.Text 
= "RSS地址:" 

Me.Label4.TextAlign 
= System.Drawing.ContentAlignment.MiddleLeft 

' 

'
Form1 

'
 

Me.AutoScaleBaseSize = New System.Drawing.Size(513

Me.ClientSize 
= New System.Drawing.Size(726517

Me.Controls.Add(Me.Label4) 

Me.Controls.Add(Me.StatusBar1) 

Me.Controls.Add(Me.TextBox1) 

Me.Controls.Add(Me.Label2) 

Me.Controls.Add(Me.Label1) 

Me.Controls.Add(Me.AxWebBrowser1) 

Me.Controls.Add(Me.Button1) 

Me.Controls.Add(Me.ListBox1) 

Me.Name 
= "Form1" 

Me.StartPosition 
= System.Windows.Forms.FormStartPosition.CenterScreen 

Me.Text 
= "Easy RSS Reader" 

CType(Me.AxWebBrowser1, System.ComponentModel.ISupportInitialize).EndInit() 

Me.ResumeLayout(
False


End Sub
 


#
End Region 

Private thread As Thread '定义一个线程 

Private Sub loadrss() '读取RSS文件并取出内容标题的过程 

StatusBar1.Text = "正在读取" & TextBox1.Text & "并效验" 

Me.loadxmltocache(TextBox1.Text) 

StatusBar1.Text 
= "正在读取相关网站信息" 

Me.loadtitle() 

StatusBar1.Text 
= "正在读取相RSS内容项" 

Me.loaditem() 

StatusBar1.Text 
= "完成" 

End Sub
 


Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click 

Try 

thread 
= New Thread(AddressOf loadrss) 

thread.Start() 

Catch ex As Exception 

MsgBox(ex.ToString) 

End Try 

End Sub
 


Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load 

AxWebBrowser1.Width 
= Me.Width 

StatusBar1.Text 
= "就绪" 

End Sub
 

Private Sub loadxmltocache(ByVal URL As String

'读取RSS文件并存放在本地以供操作 

Dim xmldocument As New XmlDocument 

xmldocument.Load(URL) 

xmldocument.Save(Application.StartupPath 
& "~doc.xml"

End Sub
 

Private Sub loadtitle() 

'从本地文件中进行操作,读取RSS中有关网站的信息 

Dim xmlDocument As New XmlDocument 

xmlDocument.Load(Application.StartupPath 
& "~doc.xml"

Dim mynodelist As XmlNodeList 

mynodelist 
= xmlDocument.SelectNodes("/rss/channel"

Label1.Text 
= "网站:" & Trim(mynodelist(0).Item("title").InnerText()) 

Label2.Text 
= "描述:" & Trim(mynodelist(0).Item("description").InnerText()) 

End Sub
 

Private Sub loaditem() 

'从本地文件中进行操作,读取RSS中内容的标题及作者 

Dim xmlDocument As New XmlDocument 

xmlDocument.Load(Application.StartupPath 
& "~doc.xml"

Dim mynodelist As XmlNodeList 

mynodelist 
= xmlDocument.SelectNodes("/rss/channel/item"

ListBox1.Items.Clear() 

Dim i As Integer 

For i = 0 To mynodelist.Count - 1 

ListBox1.Items.Add(
"[" & Trim(mynodelist(i).Item("dc:creator").InnerText()) & "]" & Trim(mynodelist(i).Item("title").InnerText())) 

Next 

End Sub
 


Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged 

thread 
= New Thread(AddressOf loadhtml) 

thread.Start() 

End Sub
 

Private Sub loadhtml() 

'读取RSS中对应文件的内容并存到临时文件后显示 

Dim xmlDocument As New XmlDocument 

xmlDocument.Load(Application.StartupPath 
& "~doc.xml"

Dim mynodelist As XmlNodeList 

mynodelist <

抱歉!评论已关闭.