在网上搜集的比较全的RSS资料
1 软件环境
使用记事本或者EditPlus或者UltraEdit都可以。
在网上有很多种RSS阅读器,这里以“周博通RSS阅读器”为例。
IIS或者Apache都可以。
RSS文件实际上就是一个标准的、按着一定格式编写(具体编写格式将在下面详细讲解)的XML文件,当然它的扩展名可以是.xml也可以是其他的,如.php、.asp、.aspx、.rss,不管这个文件用何种扩展名命名,其文件内的代码都是标准的xml代码,否则RSS阅读器将无法解释它。
<?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>
<?xml version="1.0" encoding="utf-8 " ?>
作用:声明xml语言的版本和所使用的语言字符集。字符集建议使用utf-8,不过有的服务器在解释utf-8格式的xml时会报错,如果报错的话,就使用简体中文字符集gb2312。
<rss version="2.0">
作用:声明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> |
输出方式和静态的XML文件大致一样,不同的是,用服务器脚本输出RSS文件时,需要指定文件输出的方式为XML格式,即设置文件的MIME类型。具体指定方式如下:
在输出文件的第一行加上如下代码:
Response.ContentType = "text/xml"
Response.CharSet = "gb2312"
在输出文件的第一行加上如下代码:
header("Content-type: text/xml;charset=gb2312");
RSS 2.0规范
版权所有 codesky.net 2003-2005
发表时间: 2005-6-3 关键字:不详
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)
RSS 基于XML,所有的 RSS 必须遵循w
3c网站上公布的XML 1.0 规范。
在一个RSS文档中,根元素是<rss>,带有一个必备属性version,用以指明该文档遵循的rss规范,如果rss文档遵循本规范,则version值必须是2.0。
<rss>元素只有一个子元素,包含关于频道的一些信息。频道(channel)是整个blog,项(item)指一篇文章或日志(也有称这为post)。
元素(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或w 3c推荐的列表 | 可选 | 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图片,用以与频道一起显示 |
| 可选 |
|
rating | 这个频道的分级(主要指成人、限制、儿童等) |
| 可选 |
|
textInput | 指定一个text输入框供用户输入,具体信息及功能未定。 |
| 可选 |
|
skipHours | 提示新闻聚合器,那些小时时段它可以跳过。 |
| 可选 |
|
skipDays | 提示新闻聚合器,那些天它可以跳过。 |
| 可选 |
|
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
url | 图片的url |
| 必备 |
|
title | 图片的标题,用于http的alt属性 |
| 必备 |
|
link | 网站的url(实际中常以频道的url代替) |
| 必备 |
|
width | 图片的宽度(象素为单位) | 最大144,默认88 | 可选 |
|
height | 图片的高度(象素为单位) | 最大400,默认31 | 可选 |
|
description | 用于link的title属性 |
| 可选 |
|
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
domain | Cloud程序所在机器的域名或IP地址 |
|
| radio.xmlstoragesystem.com |
port | 访问clound程序所通过的端口 |
|
| 80 |
path | 程序所在路径(不一定是真实路径) |
|
| /RPC2 |
registerProcedure | 注册的可提供的服务或过程 |
|
| xmlStorageSystem.rssPleaseNotify |
protocol | 协议 | xml-rpc, soap , http-post 之一 |
| xml-rpc |
元素(Element) | 描述(Description) | 值域 | 重要性 | 举例(Example) |
title | Submit按钮的标签 |
| 必备 |
|
description | 解释text输入区 |
| 必备 |
|
name | Text area对象的名字 |
| 必备 |
|
link | 处理提交的请求的cgi程序 |
| 必备 |
|