加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

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

发布时间:2023-08-08 14:17:43 所属栏目:Asp教程 来源:
导读:今天要为新网站写一个动态生成rss的叶面,其实我不是很专业,只是“君子善假于物也”,在网上搜罗了一些资料,慢慢的思路清晰了,然后就写了出来

弊端:由于引用的这个别人的函数没有定义fso的编码形式
今天要为新网站写一个动态生成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
 
%>
 
写完,收工!
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章