把这个 Nuclear-Blog 6.0 的 Rss 订阅功能源码发出来,有需要的同学可以参考一下,源码很简单,可以自行升级一下……
Rss 订阅功能源码片段:
<!--#include file="Inc/Conn.asp"--> <!--#include file="Inc/Anti-CC.asp"--> <% Function ShowRSS() '判断输出 RSS 订阅 If Cache = True Then '如果是静态模式 Dim P, Tmp P = CachePath & "Content_RSS.html" If CheckCache(P) = True Then '如果缓存文件存在 Response.Write Fso.OpenTextFile(P, 1, False).Readall '直接输出缓存 Else Tmp = MakeRSS '生成新的缓存文件 Fso.OpenTextFile(P, 2, True).WriteLine Tmp Response.Write Tmp End If Else Response.Write MakeRSS End If End Function Function MakeRSS() '输出 RSS 订阅 'RSS 教程:http://www.w3school.com.cn/rss/index.asp ReadSet '读取配置 Dim Tmp Tmp = "<?xml version=""1.0"" encoding=""gb2312"" ?>" & vbCrLf & _ "<rss version=""2.0"">" & vbCrLf & _ "<channel>" & vbCrLf Tmp = Tmp & "<title>" & Server.HtmlEncode(My_Name) & "</title>" & vbCrLf '网站名称 Tmp = Tmp & "<link>http://" & My_Url & "/</link>" & vbCrLf '网站地址 Tmp = Tmp & "<description>" & Server.HtmlEncode(My_Description) & "</description>" & vbCrLf '网站描述信息 Tmp = Tmp & "<generator>Nuclear-Blog v6.0</generator>" & vbCrLf '生成该 RSS feed 的程序名称 Tmp = Tmp & "<language>zh-cn</language>" & vbCrLf '语言 Tmp = Tmp & "<copyright>RSS Feed For " & Server.HtmlEncode(My_Name) & "</copyright>" & vbCrLf '版权信息 Sql = "select top 100 * from Content order by id desc" '获取最新的100篇文章 Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath Rs.Open Sql, Conn, 1, 3 If Rs.RecordCount <= 0 Then ErrorInfo Rs.MoveFirst Dim I While Not Rs.EOF Tmp = Tmp & "<item>" & vbCrLf Tmp = Tmp & "<title>" & Server.HtmlEncode(Rs("标题")) & "</title>" & vbCrLf '标题 Tmp = Tmp & "<link>http://" & My_Url & "/?" & P_A & "=" & Rs("ID") & "</link>" & vbCrLf '链接地址 Tmp = Tmp & "<description>" & _ Server.HtmlEncode(IIf(Rs("描述") <> "", Rs("描述"), Left(Rs("内容"), 300))) & _ "</description>" & vbCrLf '内容 Tmp = Tmp & "<author>" & Server.HtmlEncode(Replace(Rs("作者"), "{默认作者}", My_Author)) & "</author>" & vbCrLf '作者 Tmp = Tmp & "<category>默认分类</category>" & vbCrLf '分类 Tmp = Tmp & "<pubDate>" & Rs("时间") & "</pubDate>" & vbCrLf '发布时间 Tmp = Tmp & "</item>" & vbCrLf Rs.MoveNext Wend Rs.Close Conn.Close Tmp = Tmp & "</channel>" & vbCrLf & "</rss>" MakeRSS = Tmp End Function %>
注释都写得很清楚,自己看看吧……
RSS 输出其实很简单,核心功能只有这一段:
Dim Tmp Tmp = "<?xml version=""1.0"" encoding=""gb2312"" ?>" & vbCrLf & _ "<rss version=""2.0"">" & vbCrLf & _ "<channel>" & vbCrLf Tmp = Tmp & "<title>" & Server.HtmlEncode(My_Name) & "</title>" & vbCrLf '网站名称 Tmp = Tmp & "<link>http://" & My_Url & "/</link>" & vbCrLf '网站地址 Tmp = Tmp & "<description>" & Server.HtmlEncode(My_Description) & "</description>" & vbCrLf '网站描述信息 Tmp = Tmp & "<generator>Nuclear-Blog v6.0</generator>" & vbCrLf '生成该 RSS feed 的程序名称 Tmp = Tmp & "<language>zh-cn</language>" & vbCrLf '语言 Tmp = Tmp & "<copyright>RSS Feed For " & Server.HtmlEncode(My_Name) & "</copyright>" & vbCrLf '版权信息 Sql = "select top 100 * from Content order by id desc" '获取最新的100篇文章 Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataPath Rs.Open Sql, Conn, 1, 3 If Rs.RecordCount <= 0 Then ErrorInfo Rs.MoveFirst Dim I While Not Rs.EOF Tmp = Tmp & "<item>" & vbCrLf Tmp = Tmp & "<title>" & Server.HtmlEncode(Rs("标题")) & "</title>" & vbCrLf '标题 Tmp = Tmp & "<link>http://" & My_Url & "/?" & P_A & "=" & Rs("ID") & "</link>" & vbCrLf '链接地址 Tmp = Tmp & "<description>" & _ Server.HtmlEncode(IIf(Rs("描述") <> "", Rs("描述"), Left(Rs("内容"), 300))) & _ "</description>" & vbCrLf '内容 Tmp = Tmp & "<author>" & Server.HtmlEncode(Replace(Rs("作者"), "{默认作者}", My_Author)) & "</author>" & vbCrLf '作者 Tmp = Tmp & "<category>默认分类</category>" & vbCrLf '分类 Tmp = Tmp & "<pubDate>" & Rs("时间") & "</pubDate>" & vbCrLf '发布时间 Tmp = Tmp & "</item>" & vbCrLf Rs.MoveNext Wend Rs.Close Conn.Close Tmp = Tmp & "</channel>" & vbCrLf & "</rss>" MakeRSS = Tmp