C#

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

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

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

分类: C#

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部