读取符合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><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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值