首页 > 编程 > ASP > 正文

asp access生成标准的rss技术详解

2024-05-04 11:05:57
字体:
来源:转载
供稿:网友

今天要为新网站写一个动态生成rss的叶面,其实我不是很专业,只是“君子善假于物也”,在网上搜罗了一些资料,慢慢的思路清晰了,然后就写了出来
弊端:由于引用的这个别人的函数没有定义fso的编码形式,所以只支持gb2312输出,如果以utf-8输出可以参考这里

大概过程
1.熟悉rss规范以及格式
这个简单如果不好找规范的话,可以打开别人的rss.xml聚合源来看看就知道了
2.了解生成过程
建立一个asp(createrss.asp)--> 处理读取数据(sql/access等)-->写入rss.xml--Success!
3.编制
这里面试用了别人编写的一个创建并写入文件的函数
write2file.asp

以下是代码片段:
<%
’ wite2file.asp
’ 写入文件
Sub Write2File(strFile, strContent, blnAppend)
’ strFile 文件名(路径) , strContent 写入的内容, blnAppend 是否追加
On Error Resume Next
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If blnAppend Then
Set objWriteText = objFSO.OpenTextFile(strFile,8,True)
Else
Set objWriteText = objFSO.OpenTextFile(strFile,2,True)
End If
objWriteText.WriteLine (strContent)
Set objWriteText = Nothing
Set objFSO = Nothing
’ 容错处理
Select Case Err
Case 424 Response.Write "路径未找到或者该目录没有写入权限."
Case Else Response.Write Err.Description
’Case Else Response.Write ErrMsg
End Select
End Sub
’调用
’Write2File "c:/dd.ini", "dd", True
’Call Write2File ("c:/dd.ini", "dd", True)
’可以创建文件,但是不能创建目录
%>

createrss.asp

以下是代码片段:
’createrss.asp
<!--#include file="write2file.asp"-->
dim myrss,enter
enter=false’用来判断myrss是否获得有效数据
’定义rss.xml头
myrss="<?xml version=""1.0"" encoding=""gb2312"" 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>9xiao.cn</copyright><pubDate>pubDate</pubDate>"

’读取数据<item><...>
’事先定义好数据库连接conn
set rs=server.CreateObject("adodb.recordset")
sql="select * from table"
rs.open sql, conn, 1, 1
if not rs.eof then
enter=true’有内容可以插入rss
do while not rs.eof
myrss=myrss & "<item><title>" & rs("title") & "</title><author>" & rs("author") & "</author><link>" & rs("link") & "</link><pubDate>" & rs("pubdate") & "</pubDate><guid>" & rs("link") & "</guid><description><![CDATA[" & rs("yourcontent") & "]]></description><category>" & rs("category") & "</category></item>"
rs.movenext
loop
end if
rs.close
set rs=nothing
’rss结束
’rs("*****")中的内容请换为自己的字段
’结束rss.xml
myrss=myrss & "</channel></rss>"
’写入rss
if enter=true then
Write2File server.MapPath("rss.xml"), myrss, false’不要追加,每次更新
end if
%>
写完,收工!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表