动态写入rss文件的函数
'创建rss
sub S2rss (strFile,strContent,oMode)
'文件名,内容,1只读2只写3追加
oMode=CInt(oMode)
Set objStream = Server.CreateObject("ADODB.Stream")
On Error Resume Next
With objStream
.Open
.Charset = "utf-8"
.Position = objStream.Size
.WriteText = strContent
.SaveToFile server.mappath(strFile),oMode '生成的XML文件名
.Close
End With
Set objStream = Nothing
'错误信息
Select Case Err
Case 424 Response.Write "没有权限或目录错误"
Case Else Response.Write Err.Description
'Case Else Response.Write Err
End Select
end sub
'
'S2rss "c:\dd.rss", "dd", 2
'Call S2rss ("c:\dd.rss", "dd", 2)
创建rss文件内容
dim myrss,rss2
rss2=false'用来确定是否有内容写入rss文件
'定义rss.xml头
myrss="<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?><rss version=""2.0"" xmlns:dc=""http://purl.org/dc/elements/1.1/"" xmlns:trackback=""http://madskills.com/public/xml/rss/module/trackback/"" xmlns:wfw=""http://wellformedweb.org/CommentAPI/""><channel><title>" & webtitle & "</title><link>" & sitehost & "</link><description>" & webdescription & "</description><generator>" & generator & "</generator><language>zh-CN</language><copyright>" & copyright & "</copyright><pubDate>" & pubDate & "</pubDate>"
'读取数据<item><...>
'这里没有给出定义数据库连接,请自行定义数据连接变量conn
set rs=server.CreateObject("adodb.recordset")
sql="select top 10 * from table"
rs.open sql, conn, 1, 1
if not rs.eof then
rss2=true
do while not rs.eof
myrss=myrss & "<item><title>" & rs("i_title") & "</title><author>" & rs("u_name") & ":" & rs("u_email") & "--QQ:" & rs("u_qq") & "</author><link>" & sitehost & "information.asp?i=" & rs("i_id") & "</link><pubDate>" & rs("i_date") & "</pubDate><guid>" & sitehost & "information.asp?i=" & rs("i_id") & "</guid><description><![CDATA[" & rs("i_content") & "]]></description><category>" & rs("c_id") & "</category></item>"
rs.movenext
loop
end if
rs.close
set rs=nothing
'rss结束
'结束rss.xml
myrss=myrss & "</channel></rss>"
'写入rss
if rss2=true then
S2rss "xml/rss.xml", myrss, 2
end if
以上文件经过测试可以使用支持utf-8编码,请注意
.Charset = "utf-8"