想试着做一个简单的读取RSS新闻的页面
虽然将.net中关于XML的几个类看了个遍
但还是不太懂
这是我写的一个读取XML文档的函数
直接在设计页面中调用就行
Public Function LoadRSS(ByVal RssUrl As String, ByVal showNewsCount As Integer) As String
Try
'读取xml文档
Dim objXMLDoc As New System.Xml.XmlDocument()
Dim strNodes As String = ""
Dim objItems As System.Xml.XmlNodeList
Dim objItems1 As System.Xml.XmlNodeList
Dim objNode As System.Xml.XmlNode
Dim objNode1 As System.Xml.XmlNode
Dim i As Integer
Dim newsTitle As String
Dim newsUrl As String
Dim newsDescription As String
Dim newsPubDate As String
Dim newsAuthor As String
Dim newsCategory As String
objXMLDoc.Load(RssUrl)
objItems = objXMLDoc.GetElementsByTagName("item")
If RssUrl = "" Then
RSSNews = "未找到信息源,您可刷新重试或联系管理员!"
Exit Function
End If
If CStr(showNewsCount) = "" Or showNewsCount > 30 Then
showNewsCount = 10 '默认新闻显示数目
End If
If showNewsCount = 0 Then
showNewsCount = objItems.Count
End If
If objXMLDoc.HasChildNodes = True Then
i = 1
For Each objNode In objItems
If objNode.HasChildNodes = True Then
objItems1 = objNode.ChildNodes
For Each objNode1 In objItems1
Select Case objNode1.Name
Case "title"
newsTitle = objNode1.InnerText
Case "link"
newsUrl = objNode1.InnerText
Case "description"
newsDescription = objNode1.InnerText
If Len(newsDescription) > 500 Then
newsDescription = Left(newsDescription, 200)
End If
newsDescription = FilterHtml(newsDescription)
Case "category"
newsCategory = objNode1.InnerText
Case "author"
newsAuthor = objNode1.InnerText
Case "pubDate"
newsPubDate = objNode1.InnerText
End Select
Next
strNodes += "<a href=viewnews.aspx?newstitle=" & Server.UrlEncode(newsTitle) & "&newsurl=" & Server.UrlEncode(newsUrl) & _
"&newsdscrp=" & Server.UrlEncode(newsDescription) & "&newscat=" & Server.UrlEncode(newsCategory) & _
"&newsauthor=" & Server.UrlEncode(newsAuthor) & "&newsdate=" & Server.UrlEncode(newsPubDate) & _
" target=_blank>" & newsTitle & "</a><br>"
End If
i = i + 1
If i > showNewsCount Then Exit For
Next
End If
LoadRSS = strNodes
Catch objErr As Exception
LoadRSS = "RSS Feed 源数据出错!"
End Try
End Function