适合所有网站的rss和xml聚合功能asp代码

rss.asp格式的
下面代码保存为rss.asp

代码如下:

<!--#include file="conn.asp"--> 
<% 
strURL = "http://" & request.servervariables("server_name") & _ 
left(request.servervariables("script_name"),len(request.servervariables("SCRIPT_NAME"))-len("/rss.asp")) //中的/rss.asp为你的该文件名 

sql="select top 100 * from [表名] order by id desc" //根据自己实际修改,top 100 为最新100条,自己修改,同时可以增加查询条件,如where xxx=1.... 
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 "<rss version=""2.0"">" & vbcrlf 
response.write "<channel>" & vbcrlf 
response.write "<title>xxx.com RSS feed</title>" & vbcrlf 
response.write "<link>" & strURL & "</link>" & vbcrlf 
response.write "<language>zh-cn</language>" & vbcrlf 
response.write "<copyright>An RSS feed for xxx.comcopyright>" & vbcrlf 
while not rs.eof 
response.write "<item>" & vbcrlf 
response.write "<title><![CDATA[" & rs("title") & "]]></title>" & vbcrlf 
response.write "<link>"&strURL"/xxxx.asp?Id="&rs("id")"</link>" & vbcrlf 
response.write "<description><![CDATA[" & rs("主题字段") & "<br />" & rs("内容字段") & "<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 

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.xml格式的

代码如下:

<!--#include file="conn.asp"--> 
<% 
strURL = "http://" & request.servervariables("SERVER_NAME") & _ 
left(request.servervariables("SCRIPT_NAME"),len(request.servervariables("SCRIPT_NAME"))-len("/rss.asp")) 
dim foolcat,js 
set js = server.CreateObject("ADODB.RecordSet") 
sql = "select * from [表名] order by id asc" 
set js = conn.execute (sql) 

foolcat = foolcat + "<?xml version=""1.0"" encoding=""UTF-8"" ?>" 
foolcat = foolcat + "<rss version=""2.0"">" 
foolcat = foolcat + "<channel>" 
foolcat = foolcat + "<title>xxx.com XML feed</title>" 
foolcat = foolcat + "<link>" & strURL & "</link>" 
foolcat = foolcat + "<language>zh-cn</language>" 
foolcat = foolcat + "<copyright>An XML feed for xxx.com</copyright>" 
do until js.eof 
foolcat = foolcat + "<item>" 
foolcat = foolcat + "<title><![CDATA[" & rs("主题字段") & "]]></title>" 
foolcat = foolcat + "<description><![CDATA[" & rs("主题字段") & "<br />" & rs("内容字段") & "<br /><br />]]></description>" 
foolcat = foolcat + "<link>" & strURL & "/xxx.asp?Id="&rs("id字段")"</link>" 
foolcat = foolcat + "<pubDate>" & rs("时间字段") & "</pubDate>" 
foolcat = foolcat + "</item>" 
js.movenext 
loop 
js.close 
set js = nothing 
foolcat = foolcat + "</channel>" 
foolcat = foolcat + "</rss>" 
foolcat = "" + foolcat + "" 
foolcat = "" & foolcat & "" 
FolderPath = Server.MapPath("/") 
Set fso = Server.CreateObject("Scripting.FileSystemObject") 
Set fout = fso.CreateTextFile(FolderPath"\rss.xml") 
fout.writeLine foolcat 
fout.close 
set fout = nothing 
conn.close 
set conn = nothing 
%>

相关推荐