1. 软件环境
a) 文本编辑器
使用记事本或者EditPlus或者UltraEdit都可以。
b) RSS阅读器
在网上有很多种RSS阅读器,这里以“周博通RSS阅读器”为例。
c) 虚拟服务器
IIS或者Apache都可以。
2. 概述
RSS文件实际上就是一个标准的、按着一定格式编写(具体编写格式将在下面详细讲解)的XML文件,当然它的扩展名可以是.xml也可以是其他的,如.php、.asp、.aspx、.rss,不管这个文件用何种扩展名命名,其文件内的代码都是标准的xml代码,否则RSS阅读器将无法解释它。
3. 代码格式
a) 代码样例
<?xml version="1.0" encoding="gb2312" ?>
<rss version="2.0">
<channel>
<title>Joe Zhong's First RSS.xml file</title>
<link>http://localhost/</link>
<description>我写的第一个RSS文件暗暗啊</description>
<language>zh-cn</language>
<generator>Joe Zhong</generator>
<pubDate>2005-8-31</pubDate>
<lastBuildDate>2005-8-31</lastBuildDate>
<item>
<title>泡泡堂、QQ堂游戏通信架构分析</title>
<link>http://www.163.com/aaa.htm</link>
<category>IT技术</category>
<author>Zhongzhi</author>
<pubDate>Wed, 31 Aug 2005 00:26:00 GMT</pubDate>
<description>能帮助企业降低网络资产管理管理成本。它将对网络中每台工作站的软、硬件信息进行搜集整理,以便企业管理者使用。</description>
<comments>介绍这两款游戏的通信机制,不足之处还望大家指点!</comments>
</item>
</channel>
</rss>
b) 首行代码
<?xml version="1.0" encoding="utf-8 " ?>
作用:声明xml语言的版本和所使用的语言字符集。字符集建议使用utf-8,不过有的服务器在解释utf-8格式的xml时会报错,如果报错的话,就使用简体中文字符集gb2312。
c) 第二行代码
<rss version="2.0">
作用:声明rss语言的版本。
d) RSS新闻列表代码
每条新闻对应一个item,所有的item都要包含在channel节点下。Xml各节点的详细说明如下:
<!-- RSS.XML --> <!-- XML版本和字符集 --> <?xml version="1.0" encoding="gb2312" ?> <!-- RSS版本 --> <rss version="2.0"> <!-- 以下为频道信息及新闻列表 --> <channel> <!-- 频道总体信息:开始 --> <!-- 频道标题 --> <title>Joe Zhong's First RSS.xml file</title> <!-- 频道链接的总地址 --> <link>http://localhost/</link> <!-- 频道描述文字 --> <description>我写的第一个RSS文件暗暗啊</description> <!-- 频道使用的语言(zh-cn表示简体中文) --> <language>zh-cn</language> <!-- 频道生成器 --> <generator>Joe Zhong</generator> <!-- 频道发布时间 --> <pubDate>2005-8-31</pubDate> <!-- 频道最后更新时间--> <lastBuildDate>2005-8-31</lastBuildDate> <!-- 频道总体信息:结束 -->
<!-- 每条RSS新闻信息都包含在item节点中, --> <item> <!-- 新闻标题 --> <title>泡泡堂、QQ堂游戏通信架构分析</title> <!-- 新闻链接地址 --> <link>http://www.163.com/aaa.htm</link> <!-- 新闻目录 --> <category>IT技术</category> <!-- 新闻作者 --> <author>Zhongzhi</author> <!-- 新闻发布时间 --> <pubDate>2005 00:26:00</pubDate> <!-- 新闻内容简要描述 --> <description>能帮助企业降低网络资产管理管理成本。它将对网络中每台工作站的软、硬件信息进行搜集整理,以便企业管理者使用。</description> <!-- 新闻注释[作用不详] --> <comments>介绍这两款游戏的通信机制,不足之处还望大家指点!</comments> </item>
<item> <title>持续集成工具CruiseControl 2.3新版发布</title> <link>http://news.csdn.net/news/newstopic/25/25811.shtml</link> <category>风花雪月</category> <author>张三</author> <pubDate>2005-8-31 12:30:00</pubDate> <description>持续集成工具CruiseControl今日宣布发行新版本2.3。</description> <comments>注释显示在哪里?</comments> </item>
</channel> </rss> |
4. 解析RSS文件
a) 将RSS.XML放到虚拟目录中,如http://localhost/RSS.XML。
b) 在RSS阅读器中添加新的RSS频道。添加过程中会要求输入RSS频道地址和频道名称。
c) 频道添加成功后,可以在RSS频道树中看到刚添加的频道,刷新频道内容,能浏览到我们在XML文件中编写好的两条RSS新闻。
5. 使用服务器端脚本输出RSS文件
输出方式和静态的XML文件大致一样,不同的是,用服务器脚本输出RSS文件时,需要指定文件输出的方式为XML格式,即设置文件的MIME类型。具体指定方式如下:
a) ASP
在输出文件的第一行加上如下代码:
Response.ContentType = "text/xml"
Response.CharSet = "gb2312"
b) PHP
在输出文件的第一行加上如下代码:
header("Content-type: text/xml;charset=gb2312");
RSS 2.0规范
版权所有 codesky.net 2003-2005
发表时间:2005-6-3 关键字:不详
RSS 2.0规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)
RSS 基于XML,所有的 RSS 必须遵循w3c网站上公布的XML 1.0 规范。
在一个RSS文档中,根元素是<rss>,带有一个必备属性version,用以指明该文档遵循的rss规范,如果rss文档遵循本规范,则version值必须是2.0。
<rss>元素只有一个子元素,包含关于频道的一些信息。频道(channel)是整个blog,项(item)指一篇文章或日志(也有称这为post)。
RSS2.0元素channel的子元素列表
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
title | 频道名称 |
| 必备 | GoUpstate.com News Headlines |
link | 频道的URL |
| 必备 | http://www.goupstate.com/ |
Description | 频道的描述 |
| 必备 | The latest news from GoUpstate.com, a Spartanburg Herald-Journal Web site. |
|
|
|
|
|
language | 频道文章所用语言, | 可用netscape或w3c推荐的列表 | 可选 | en-us |
copyright | 频道内容的版权说明 |
| 可选 | Copyright 2002, Spartanburg Herald-Journal |
managingEditor | 责任编辑的email |
| 可选 | geo@herald.com (George Matesky) |
webMaster | 负责频道技术事务的网站管理员email |
| 可选 | betty@herald.com (Betty Guernsey) |
pubDate | 频道内容发布日期,格式遵循RFC822格式(年份可为2们或4位) |
| 可选 | Sat, 07 Sep 2002 00:00:01 GMT |
lastBuildDate | 频道内容最后的修改日期 |
| 可选 | Sat, 07 Sep 2002 09:42:31 GMT |
category | 指定频道所属的一个或几个类别 |
| 可选 | <category>Newspapers</category> |
generator | 生成该频道的程序名 |
| 可选 | MightyInHouse Content System v2.3 |
docs | 指向该RSS文件所用格式说明的URL |
| 可选 | http://blogs.law.harvard.edu/tech/rss |
cloud | Allows processes to register with a cloud to be notified of updates to the channel, implementing a lightweight publish-subscribe protocol for RSS feeds. More info here. |
| 可选 | <cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/> |
ttl | 有效期,用以指明该频道可被缓存的最长时间 | 分钟为单位 | 可选 | <ttl>60</ttl> |
image | 指定一个 GIF或JPEG或PNG图片,用以与频道一起显示 |
|