读取符合RSS2.0规范的XML文档

王朝网络·asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

想试着做一个简单的读取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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有