如今越来越多的人开始写起了博客,博客应该是个性张扬的,应该反应博客主人对生活的某种认知,要以原创的内容为主。只有写出了个性,写出有价值的内容的博客才是可看的博客。在发表了一篇文章后,如何让别人第一时间知道呢?RSS订阅功能就可以实现了。
比如国内知名的博客,新浪博客、搜狐博客、网易博客、BLOGBUS、MSN、WordPress等博客系统均有RSS订阅功能。RSS订阅是构成良好的博客、用户互动的一个体现。这些博客自身都带有RSS订阅功能,只要在后台简单的设置一下就可以让用户订阅RSS内容了。
就是flymorn采用asp语言写的一个博客程序。之前飘易博客并没有增加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.Piaoyi.Org)</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文件了,是不是效果出来了,纯代码亦可参考
。Feedsky是一家Feed管理服务商,我们提供给Blogger(博客)、网站(Website)和商业出版等内容出版者在线的服务平台,帮助他们加强Feed的优化和传播管理。我们提供跟踪系统来追踪Feed被传播的渠道,例如阅读器、网站、新闻组、博客、Email和手机等,并最终帮助内容提供者通过这些传播渠道获取收益。Feedsky会处理您的Feed格式,使您的Feed能够自动适应各种RSS格式以及各种阅读器,同时我们会帮助您建立一个面向您读者的订阅引导页面,我们还会帮您统计每天、每周和每月的读者数量、他们使用的阅读器种类及文章点击数。