打印本文 打印本文 关闭窗口 关闭窗口
用VB.NET写的一个简易的RSS阅读器
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2921  更新时间:2009/4/23 19:00:29  文章录入:mintao  责任编辑:mintao
Private Sub Button1_Click(ByVal sender As System.Object, ByVal 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.Object, ByVal 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.Object, ByVal 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 = xmlDocument.SelectNodes(
"/rss/channel/item")
Dim i As Integer
Dim j As Boolean
Dim content As
String
StatusBar1.Text =
"正在读取文章内容"
For i = 0 To mynodelist.Count - 1
If ListBox1.SelectedItem = "[" & Trim(mynodelist(i).Item("dc:creator").InnerText()) & "]" & Trim(mynodelist(i).Item("title").InnerText()) Then
content = content &
"<html><head><meta http-equiv=''''content-type'''' content=''''text/html;charset=UTF-8''''></head><body>"
content = content & "<table width=''''100%'''' height=''''80'''' bgcolor=''''#eeeeee''''><tr><td><b>标题:</b><a href=''''"
content = content & Trim(mynodelist(i).Item("link").InnerText())
content = content &
"'''' target=''''_blank''''>"
content = content & Trim(mynodelist(i).Item("title").InnerText())
content = content &
"</a><br><b>作者:</b>"
content = content & Trim(mynodelist(i).Item(
"dc:creator").InnerText())
content = content &
"</tb></tr></table>"
content = content & formatHtml(mynodelist(i).Item(
"description").InnerText())
content = content &
"</body></html>"
j = SaveTextFile(Application.StartupPath &
"~temp.html", content)
AxWebBrowser1.Navigate(Application.StartupPath &
"~temp.html")
Exit
For
End If
Next
StatusBar1.Text =
"完成"
End Sub
''''写文件的过程
Function SaveTextFile(ByVal FilePath As String, ByVal FileContent As String) As Boolean
Dim sw As System.IO.StreamWriter
Try
sw = New System.IO.StreamWriter(FilePath,
False)
sw.Write(FileContent)
Return
True
Catch e As Exception
Return
False
Finally
If Not sw Is Nothing Then sw.Close()
End Try
End Function
''''从地址里取网址的函数
Private Function formatURL(ByVal str As String) As String
Dim sStr As

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口