產生rss和xml聚合主要是方便訂閱,讓使用者快速知道您的網站的更新。 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
案例 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
%>