Visual Basic 8 (2005)WebFormsWindows XPSQL Server 2005中级开发Visual StudioSQL ServerWindows.NETVisual BasicASP.NET
使用 RSS 2.0 发布您的网站内容






4.41/5 (7投票s)
使用 ASP.NET/VB.NET/MS SQL Server 2005 使用 RSS 2.0 发布您的网站内容。
引言
这是一种使用 RSS 2.0 发布您网站内容的简单方法。 代码从 MS SQL Server 数据库中提取项目,并使用 XmlTextWriter
对象动态创建 XML。 您可以使用 T-SQL 通过创建日期过滤结果项目,或使用生存时间。
如果您不理解正在创建的 XML,请查看以下链接以获取有关 RSS 2.0 标准的详细信息:http://cyber.law.harvard.edu/rss/rss.html
如果您更喜欢使用 C# 编写代码,CP 成员发布了一个下面的示例,它将创建这些项目。 但是,您仍然需要使用 RSS 2.0 标准创建父 XML 标签。
使用代码
.aspx 页面只需要这两行代码。
<%@ Page Language="VB" AutoEventWireup="false"
CodeFile="rssFeed.aspx.vb" Inherits="rssFeed" %>
<%@ OutputCache Duration="1" VaryByParam="none" %>
这是代码隐藏文件
Imports System
Imports System.Configuration
Imports System.Data
Imports System.Data.SqlClient
Imports System.Text
Imports System.Web
Imports System.Xml
Partial Class rssFeed
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
Response.Clear()
Response.ContentType = "text/xml"
Dim objX As New XmlTextWriter(Response.OutputStream, Encoding.UTF8)
objX.WriteStartDocument()
objX.WriteStartElement("rss")
objX.WriteAttributeString("version", "2.0")
objX.WriteStartElement("channel")
objX.WriteElementString("title", "RedChip News")
objX.WriteElementString("link", "http://www.redchip.com")
objX.WriteElementString("description", _
"The latest headlines and articles from RedChip.")
objX.WriteElementString("ttl", "5")
Dim objConnection As New SqlConnection(_
ConfigurationManager.ConnectionStrings(_
"DatabaseConnectionString1").ToString)
objConnection.Open()
Dim sql As String = "SELECT Title, Summary, ArticleID, " & _
"PostTime FROM tblArticles ORDER BY PostTime DESC"
'Dim sql As String = "SELECT * FROM tblArticles"
Dim objCommand As New SqlCommand(sql, objConnection)
Dim objReader As SqlDataReader = objCommand.ExecuteReader()
While objReader.Read()
objX.WriteStartElement("item")
objX.WriteElementString("title", objReader.GetString(0))
objX.WriteElementString("description", objReader.GetString(1))
objX.WriteElementString("link", _
"http://www.redchip.com/Articles/research.aspx" & _
"?ArticleID=" & CStr(objReader.GetInt16(2)))
objX.WriteElementString("pubDate", _
objReader.GetDateTime(3).ToString("R"))
objX.WriteEndElement()
End While
objReader.Close()
objConnection.Close()
objX.WriteEndElement()
objX.WriteEndElement()
objX.WriteEndDocument()
objX.Flush()
objX.Close()
Response.End()
End Sub
End Class