讨论交流:http://x8.maicoo.com/team/10746.html
前面用ASP读取了RSS,又在网上搜罗了下ASP生成RSS的,大概有两种方法,第一是直接在ASP页面中写XML的元素,但是要符合XML的格式。另外一种就是用ASP写XML后缀名的文件。总体看来第一种方法比较简单。
实例如下:
****************************文件名 RSS.asp**************************
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#Include Virtual="Inc/Conn.asp"-->
<%
Response.Charset = "gb2312"
'注意以下的中文和网址以本博客为例
Response.ContentType="text/xml"
Response.Write("<?xml version=""1.0"" encoding=""gb2312"" ?>")
Response.Write("<rss version=""2.0"">")
Response.Write("<channel>")
Response.Write("<title>老虎花信息速递</title>")
Response.Write("<link>http://www.ailicn.cn</link>")
Response.Write("<description>信息速递</description>")
Response.Write("<category>老虎花的博客</category>")
Response.Write("<language>zh-cn</language>")
Response.Write("<docs>http://www.ailicn.cn/RSS.asp</docs>")
Response.Write("<generator>http://www.ailicn.cn</generator>")
Response.Write("<webMaster>web@ailicn.cn</webMaster>")
Response.Write("<managingEditor>web@ailicn.cn</managingEditor>")
Response.Write("<pubDate>"&Now()&"</pubDate>")
Response.Write("<lastBuildDate>"&Now()&"</lastBuildDate>")
Response.Write("<ttl>30</ttl> ")
Response.Write("<copyright>Copyright 2007,老虎花博客.</copyright>")
Dim sql
Dim rs
'以下是读取文章列表中的记录
sql="select top 20 * from Article where Deleted=False order by UpdateTime desc"
set rs=Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
while not rs.Eof
'以下开始写XML中的ITEM
Response.Write("<item>")
Response.Write("<title><![CDATA["&rs("Title")&"]]></title>") '<![CDATA[ ]]>用来告诉浏览器以下不需要转换成XML格式的,直接显示其中的内容,主要是防止记录中的各种符号造成与XML格式冲突。
Response.Write("<link>http://lib.forestpolice.net/ShowArticle.asp?ArticleID="&rs("ArticleID")&"</link>")
Response.Write("<author>"&rs("Author")&"</author>")
Response.Write("<category>森林公专图书馆信息速递</category>")
Response.Write("<pubDate>"&rs("UpdateTime")&"</pubDate>")
Response.Write("<description><![CDATA["&left(rs("Content"),100)&"]]></description>")
Response.Write("</item>")
rs.MoveNext()
wend
'XML结束
Response.Write("</channel>")
Response.Write("</rss>")
%>
【责任编辑: lanier】