为博客添加RSS订阅代码(ASP)

首先我们了解一下什么是RSS!RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication)。通常在时效性比较强的内容上使用RSS订阅能更快速获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件(例如SharpReader,NewzCrawler、FeedDemon),在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。如此,下面将我们的网站博客也添加RSS订阅。

<%
''连接数据库
On Error Resume Next '防暴库
dim db,conn,connstr
db="数据库路径"
set conn= Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(""&db"")
conn.Open connstr

strURL = "http://" & request.servervariables("server_name") & _left(request.servervariables("script_name"),len(request.servervariables("SCRIPT_NAME"))-len("/rss.asp"))''获取当前域名,其中rss.asp为你的文件名
sql="select top 10 * from [数据表名] order by id desc"''根据自己实际修改
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
response.contenttype="text/xml"
response.write "<?xml version=""1.0"" encoding=""gb2312"" ?>" & vbcrlf
''response.write "<?xml-stylesheet type=""text/xsl"" href=""rss.xsl"" version=""1.0"" ?>" & vbcrlf   ''此句即增加xml的样式表
response.write "<rss version=""2.0"">" & vbcrlf   
response.write "<channel>" & vbcrlf   
response.write "<title>海波吧 RSS feed</title>" & vbcrlf   
response.write "<link>" & strURL & "</link>" & vbcrlf   
response.write "<language>zh-cn</language>" & vbcrlf   
response.write "<copyright>An RSS feed for 海波吧(Www.haibor8.cn)</copyright>" & vbcrlf 
while not rs.eof   
response.write "<item>" & vbcrlf   
response.write "<title><![CDATA[" & rs("标题") & "]]></title>" & vbcrlf   
response.write "<link>"&strURL& rs("路径") "</link>" & vbcrlf 
response.write "<description><![CDATA[" & rs("摘要或内容") & "<br /><br />[<a href="""&strURL& rs("评论URL") """>对“"& rs("标题") "”发表评论</a>]<br /><br />]]></description>" & vbcrlf   
response.write "<pubDate>" & return_RFC822_Date(rs("时间"),"GMT") & "</pubDate>" & vbcrlf   
response.write "</item>" & vbcrlf   
rs.movenext   
wend   
response.write "</channel>" & vbcrlf   
response.write "</rss>" & vbcrlf   
rs.close   
set rs=nothing 


''关闭数据库
conn.close
set conn=nothing 


''时间转换函数
Function return_RFC822_Date(byVal myDate, byVal TimeZone)   
Dim myDay, myDays, myMonth, myYear   
Dim myHours, myMinutes, mySeconds   
myDate = CDate(myDate)   
myDay = EnWeekDayName(myDate)   
myDays = Right("00" & Day(myDate),2)   
myMonth = EnMonthName(myDate)   
myYear = Year(myDate)   
myHours = Right("00" & Hour(myDate),2)   
myMinutes = Right("00" & Minute(myDate),2)   
mySeconds = Right("00" & Second(myDate),2) 
return_RFC822_Date = myDay", "& _   
myDays" "& _   
myMonth" "& _ 
myYear" "& _   
myHours":"& _   
myMinutes":"& _   
mySeconds" "& _ 
" " & TimeZone   
End Function 


''星期转换函数
Function EnWeekDayName(InputDate)   
Dim Result   
Select Case WeekDay(InputDate,1)   
Case 1:Result="Sun"   
Case 2:Result="Mon"   
Case 3:Result="Tue"   
Case 4:Result="Wed"   
Case 5:Result="Thu"   
Case 6:Result="Fri"   
Case 7:Result="Sat"   
End Select   
EnWeekDayName = Result   
End Function 


''月份转换函数
Function EnMonthName(InputDate)   
Dim Result   
Select Case Month(InputDate)   
Case 1:Result="Jan"   
Case 2:Result="Feb"   
Case 3:Result="Mar"   
Case 4:Result="Apr"   
Case 5:Result="May"   
Case 6:Result="Jun"   
Case 7:Result="Jul"   
Case 8:Result="Aug"   
Case 9:Result="Sep"   
Case 10:Result="Oct"   
Case 11:Result="Nov"   
Case 12:Result="Dec"   
End Select   
EnMonthName = Result   
End Function   
%>

把以上代码保存为rss.asp文件,修改其中相应的数据库表字段后,即可成功输出RSS格式的XML文档。现在你可以预览以下你做好的rss文件了,是不是效果出来了,纯代码亦可参考这里。当然,仅仅到这里,别人还是无法订阅你的博客RSS,你必须发布出去,别人才可以订阅。

这里,我推荐大家使用Feedsky。Feedsky是一家Feed管理服务商,我们提供给Blogger(博客)、网站(Website)和商业出版等内容出版者在线的服务平台,帮助他们加强Feed的优化和传播管理。我们提供跟踪系统来追踪Feed被传播的渠道,例如阅读器、网站、新闻组、博客、Email和手机等,并最终帮助内容提供者通过这些传播渠道获取收益。Feedsky会处理您的Feed格式,使您的Feed能够自动适应各种RSS格式以及各种阅读器,同时我们会帮助您建立一个面向您读者的订阅引导页面,我们还会帮您统计每天、每周和每月的读者数量、他们使用的阅读器种类及文章点击数。