5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:
性别:秘密
最后登录:2007-04-12
http://yifei0704.5d.cn/
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2006/06/28 | [转]给自己的网站添加RSS功能
类别(网页知识)
|
评论
(0)
|
阅读(185)
|
发表于 17:20
全文来自:http://www.colorbird.net/user1/friday/archives/2006/24.html
RSS是基于XML(可扩展标志语言)的一种形式,并且所有的RSS文件都要遵守W3C站点发布的XML1.0规范。一般来说,RSS文档的最顶层是一个<rss>元素作为根元素,<rss>元素有一个强制属性version,用于指定当前RSS文档的版本,目前常用的RSS版本是2.0。<rss>元素下的子元素是唯一的一个<channel>元素,它包含了关于该网站或栏目的信息和内容,在下必备的语句有三个:
<title>:网站或栏目的名称,一般与网站或栏目的页面title一致;
<link>:网站或栏目的URL;
<description>:对网站或栏目的简要描述。
还可以使用一些如<language>(语言)、<copyright>(版权声明)等可选语句来丰富<channel >内容,具体的更新内容提要就要依靠来体现了。一般一个更新就是一个<item>,<item>下至少要存在一个<title>或<description>,其他语句可以根据需要进行选择。下面以ASP+ACCESS为例来具体介绍如何在网站中添加RSS功能。
既然RSS是一种XML格式的文档,那么我们就应当可以对后台数据库中的数据按照条件进行筛选、组织,然后通过ASP生成XML格式的数据流,最后发送到客户端进行浏览。
问题的关键在于怎么生成XML格式的数据流。其实Asp也已经有自己的解决办法,就是在写数据前对response对象的ContentType属性进行定义。如果response.ContentType的取值为"text/xml",就会向浏览者发送XML格式的数据流。
在IE浏览器中调用RSS源的方法和普通的链接没有什么区别,格式是:
<a type="application/rss+xml" href="Rss.asp">RSS</a>
以下程序段是创建某网站上的一个栏目的RSS的源代码,文件名为Rss.asp。
其中,变量sXmlClear用于声明产生的文档是一段XML格式的文档,该声明是可选的,以保持与旧版本XML的向后兼容性。sRssHead定义Rss的基本元素。
<!-Filename:Rss.asp:-->
<%Optionexplicit%>
<!--#i ncludefile="conn.asp"-->
<%
Dim sSQL, rs,sCrLf, sXmlClear, sRssHead, sRssEnd
sCrLf=chr(13)&chr(10) '回车+换行
sXmlClear="<?xml version='1.0'encoding='gb2312'?>"& sCrLf
sRssHead="<rss version='2.0'>"& sCrLf
sRssHead=sRssHead&"<channel>"& sCrLf
sRssHead=sRssHead&"<title>Teacher's Blog</title>"& sCrLf
sRssHead=sRssHead&"<description>Teacher's Blog</description>"& sCrLf
sRssHead=sRssHead&"<link></link>"& sCrLf
sRssHead= RssHead&"<language>zh-cn</language>"& sCrLf
sRssHead=sRssHead&"<docs>Teacher's Blog</docs>"& sCrLf
sRssEnd="</channel></rss>"
Response.CharSet="gb2312" '数据集
Response.ContentType="text/xml" '数据流格式定义
'输出:
Response.write sXmlClear
Response.write sRssHead
sSQL="select top15* from news order by sortid desc"
Set rs=Server.CreateObject("ADODB.Recordset")
rs.Open sSQL,s_Conn,1,1
if not (rs.eof and rs.bof) then
do while not rs.eof
response.write"<item>"& sCrLf
response.write"<title>"&rs("f_topic")&"</title>"& sCrLf
response.write"<link>"&"/show_new.asp?autoid="&rs("f_i_autoid")&"</link>"& sCrLf
response.write"<author>"&rs("f_author")&"</author>"& sCrLf
response.write"<pubDate>"&rs("f_datetime")&"</pubDate>"& sCrLf
response.write"</item>"&sCrLf&sCrLf
rs.movenext
loop
end if
rs.close
set rs=nothing
Response.write sRssEnd%>
IE中的调用格式是:<a href= "/Rss.asp"> RSS</a>。如果用一些客户端软件订阅该RSS,订阅的Url就是/Rss.asp。
0
评论
Comments
日志分类
首页
[55]
生活点滴
[37]
关注动漫
[7]
博客收藏
[2]
网页知识
[9]