1.RSS 介绍
RSS是利用XML把一个网站的内容发送给其他网站的方式。RSS允许快速浏览新闻与更新。
什么是RSS?
RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple Syndication),Rss允许联合站点内容,Rss定义了一个简单的方式来共享和查看标题及内容。Rss文件可以自动更新,Rss允许个人查看不同站点,Rss是用XML编写的。
为什么要使用Rss?
Rss的作用是显示已选择的内容。没有RSS,用户就必须通过每天检查站点来进行更新。这对于很多用户而言无疑是一种时间的浪费。但通过RSS 输入端(feed)(RSS页常被叫成News feed 或RSS feed),它们就可以通过使用RSS aggregator(RSS aggregator——用来对RSS输入端(feed)进行收集和分类的站点或程序),用户就可以更快地访问站点。因为RSS数据更小,更容易加载,所以通过像手机或PDA's之类的服务器都可以很方便的使用。带有类似信息的Web-rings可以很容易地共享网站上的数据,并使这些数据更加优化、更加有用。
谁应该使用Rss?
如果网络管理员不经常更新网站,那么他就不需要RSS。RSS对于需要经常更新的网站是非常有用的,如:
l 新闻站点 – 列举使用标题、数据以及种类来分列的新闻
l 公司 – 列举新闻以及新产品列表
l 日历 – 列举临近事件和重要日子
l 站点变化 – 列举变化的页面和新页面
RSS的将来
RSS将无处不在!每天数以百千的站点都在使用RSS,更多的人们在了解它的实用性。通过使用RSS,我们能更加方便地查找英特网信息,同时网络开发者也能更加容易地把他们的信息发送给特殊的网络群体。
2.RSS 历史
RSS用于很多不同版本。
l 1997年- Dave Winer发展了scriptingNews. 于是RSS诞生了。
l 1999年- Netscape发展了RSS 0.90(scriptingNews支持)。这只是相对建议的包含RDF Header的XML。
l 1999年- Dave Winer在UserLand发展了scriptingNews 2.0b1(这已经包含了Netscape's RSS 0.90的特征)
l 1999年- Netscape发展了RSS 0.91。在这个版本中他们删去了RDF header,但是加进了大部分scriptingNews 2.0b1的特征。
l 1999年- UserLand脱离了scriptingNews并且只使用RSS 0.91。
l Netscape终止了RSS发展
l 2000年- UserLand放弃了官方RSS 0.91规格
l 2000年-在Riel Dornfes,一个由Rael Dornfest领导的组织开发了RSS 1.0。其格式用到RDF和命名空间(namespaces)。尽管作为0.91版本之后的一个新版本,很多人对此持怀疑态度;但是这是一个和原先的RSS0.91没有任何关联的全新版本。
l 2000年- Dave Winer在UserLand开发了RSS 0.92
l 2002年- Dave在离开Userland之后, 又开发了RSS 2.0。
l 2003年 - 官方RSS 2.0发布正式发布。
有什么不同?
RSS 1.0是唯一使用W3C RDF(资源描述框架Resource Description Framework)标准开发的。RDF背后的想法是希望帮助创建一个语义网(Semantic Web)。当然,对于普通用户而言,这并不重要。但是使用网络标准可以更加容易的实现人与应用程序之间的数据交换。
RSS 0.91和 RSS 2.0对于RSS 1.0而言更容易理解。我们的教程就是以RSS 2.0为基础的。
是否存在RSS网络标准?
RSS没有官方标准:
l 50%的RSS输入端(feed)都使用RSS 0.91
l 25%使用RSS 1.0
l 最后的25%使用RSS 0.9x 版本和 RSS 2.0
3.RSS 语法
RSS 2.0的语法规则非常简单而且很严谨。这些语法规则易学易用。
RSS如何运行
RSS是用于网站之间的内容共享的。通过RSS,你是通过一个名为aggregators的组织来注册内容的。所以,如果你想成为其中的一部分,首先得创建一个RSS文件,用“.XML”扩展名保存,并将其上传到站点;接着,通过RSS aggregator进行注册。aggregator每天都会为RSS文档搜寻已注册过站点,检验其连接并显示与RSS相关的信息以帮助客户链接到他们感兴趣的内容。
提示:阅读我们的RSS章节,查看免费RSS aggregation服务。
RSS文件实例
RSS文件使用自我描述(self-describing)和简单语法。
让我们看一下简单的RSS文件:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>W3Schools Home Page</title>
<link>http://www.w3schools.com</link>
<description>Free web building tutorials</description>
<item>
<title>RSS Tutorial</title>
<link>http://www.w3schools.com/rss</link>
<description>New RSS tutorial on W3Schools</description>
</item>
<item>
<title>XML Tutorial</title>
<link>http://www.w3schools.com/xml</link>
<description>New XML tutorial on W3Schools</description>
</item>
</channel>
</rss>
|
文件首行-XML通过在文件中使用编码来声明-定义了XML的版本和章节。所以此文件是符合XML1.0规格的,而且是使用ISO-8859-1 (Latin-1/West European)字符设置的。
下一行是确定RSS文件的RSS声明(2.0版本中)。
下一行包含了<channel>元素。此元素用于描述RSS Feed的。<channel>元素含有3个必要子元素:
l <title>-定义了channel的标题
l <link>-定义了到channel的超链接
l <description>-描述了channel
每个<channel>元素可以拥有一个或多个<item>元素。
每个<item>元素定义了一个项(article)或RSS Feed中的"story"。<item>元素含有3个必须子元素:
l <title>-定义了项的标题
l <link>-定义了到项上的超链接
l <description>-定义了项
最后两行关闭了<channel> 和 <rss>元素。
RSS的注释
RSS中编写注释的语法与HTML相似。
<!-- This is an RSS comment -->
用XML编写RSS
因为RSS是XML,所以要记住:
l 所有元素必须含有一个结束标签
l 元素要区分大小写
l 元素必须恰当嵌套
l 必须引用属性值
4.RSS <channel>元素
RSS <channel>元素是描述RSS 输入端(feed)的。
让我们先来看一下RSS文件:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>W3Schools Home Page</title>
<link>http://www.w3schools.com</link>
<description>Free web building tutorials</description>
<item>
<title>RSS Tutorial</title>
<link>http://www.w3schools.com/rss</link>
<description>New RSS tutorial on W3Schools</description>
</item>
</channel>
</rss>
|
如以前提及的一样,<channel>元素形容的是RSS 输入端(feed)及其3个必须子元素,此外,还有一些任意参数<channel>子元素。接下来,我们将说明一些比较重要的元素。
<category>元素:<category>子元素的作用:详细说明输入端(feed)类别。通过<category>元素,可以使RSS aggregators对基于同一类别(category)的内容集合起来。对于上述的RSS文件,其category应该是:<category>Web development</category>
<copyright>元素:<copyright>子元素是用来描述版权材料的。对于上面的RSS文件,版权(copyright)应该是:<copyright>2006 Refsnes Data as. All rights reserved.</copyright>
<image>元素:<image>子元素允许在aggregators 显示一个输入口(feed)的时候显示图像。<image>元素有3个必须子元素:a. <url>定义了图像的URI。b. <title>定义了当图像无法显示时显示文本。c. <link>定义了提供channel的站点超链接
对于RSS文件,图形应该是:
<image>
<url>http://www.w3schools.com/images/logo.gif</url>
<title>W3Schools.com</title>
<link>http://www.w3schools.com</link>
</image>
|
<language>元素:<language>子元素的作用:详细说明用于编写文件的语言。<language>元素使RSS aggregators能够群组基于某一种语言(language)的站点,上述RSS文件的语言应该是:<language>us-en</language>
RSS <channel> 参数
5.RSS 元素
每个<item>元素都在RSS输入端(feed)里定义了一个项(article)或者"story"。<item>元素含有3个必要的子元素。此外,还有一些任意的<item>子元素。我们会在下面讲解一些最关键元素。
<author>元素:<author>子元素的作用:制定author项(item)的电子邮件地址。
上述RSS文件中的Author项应该是:<author>hege@refsnesdata.no</author>
注意:为避免垃圾邮件,一些开发者在程序中并不加入<author>元素。
<comments>元素:<comments>子元素允许一个项(item)链接到此项(item)的注释上。在上述RSS文件中,项(item)的注释应是:<comments>http://www.w3schools.com/comments</comments>
<enclosure>元素:<enclosure>子元素允许一个项(item)中包含一个媒体文件(media-file)。<enclosure>元素有3个必要属性:
a. URI-定义了媒体文件的URI。
b. length-定义了媒体文件的长度(以字节形式)。
c. type-定义了媒体文件的类型。上述RSS文件,包含在项(item)内的媒体文件为:<enclosure url="http://www.w3schools.com/rss/rss.mp3
length="5000" type="audio/mpeg" />
RSS <item>参数
6.RSS 发布 Feed
如果其他人不能访问RSS文件,那么即使拥有RSS文件也毫无用处。
把你的RSS输入端(feed)文件上传到网上
将RSS 输入端(feed)上传到网上的步骤:
a) 为你的RSS文件命名。注意文件必须含有.XML扩展名。
b) 验证你RSS文件的有效性(你可以在http://www.feedvalidator.org中找到比较好的验证器)
c) 把RSS文件上传到网络服务器上的目录中
d) 在网络目录上复制RSS LOGO或XML LOGO按钮
e) 把这两个橙色按钮存放到你要提供给外界的RSS页面上(如:你的主页)接着,在这个链接RSS文件的按钮上添加下列链接:
<a href="www.w3schools.com.com/rss/myfirstrss.xml">
< img src="www.w3schools.com/rss/rss.gif" width="36" height="14">
</a>.
f) 把RSS Feed递交到RSS 输入端(feed)目录(你可以通过Google或Yahoo 搜索"RSS 输入端(feed)目录")注意!Feed的URI不是你的主页,它只是FEED的URL而已,(如:"http://www.w3schools.com/rss/myfirstrss.xml".),下面是一些RSS集合服务:
1. Syndic8: 超过 300,000 输入端(feed)列表. 注册你的输入端(Feed).
2. Daypop: 超过 50,000 输入端(feed)列表. 注册你的输入端(Feed).
3. Newsisfree: 超过 18,000 输入端(feed)列表. 注册你的输入端(Feed).
g) 通过下列主要的搜索引擎来注册FEED:
1. Yahoo - http://publisher.yahoo.com/promote.php
2. Google - http://www.google.com/intl/zh-cn/webmasters/addfeed.html
3. MSN - http://rss.msn.com/publisher.armx
h) 升级输入端(feed)-现在你已经从Google, Yahoo, 或MSN上获得了RSS Feed按钮。你要明确的是:只有在你的网页内容需要经常更新的时候,RSS Feed按钮才能发挥它真正的用处。
我能自己管理自己的RSS 输入端(feed)吗?
你需要自己管理RSS Feed,最好的方法就是你先确保你的Feed正在按照你所希望的运行方式工作。然而,这可能会浪费大量的时间,特别是需要更新大量网页时。还有种方法就是使用第三方的提供的“自动化RSS”。
自动化RSS
如果你不想自己更新RSS输入端(feed),那么有些工具和服务可以来帮助你自动完成更新,如:
l MyRSSCreator-只需10分钟就能提供一套自动可靠的RSS服务。
l 输入端(feed)Fire-提供RSS输入端(feed)的创造和发布功能。
一些相对流行的博客(blog[Web Log])管理系统也提供内置的RSS服务,这些RSS Feed对于用户管理个人站点非常有用:
l Blogger
l Radio
RSS 解读 Feed
RSS 解读器(Reader)是用于解读RSS Feeds的!RSS 解读器(Reader)可以用于许多不同设备和系统操作。
RSS 解读器(Reader)
现在有许多不同的RSS 解读器(Reader)。一部分是用于网络服务的,还有一部分只用于视窗系统(如:Mac, PDA 或 UNIX)。以下可作参考:
l NewsGator Online-免费的网上RSS 解读器(Reader)。包括Outlook的synchronization,查看带有Media Center Edition的TV目录和带有博客(blog)以及标题的出版物
l RssReader-一款免费的基于视窗的RSS 解读器(Reader),支持RSS versions 0.9x, 1.0 与 2.0 和 Atom 0.1, 0.2 与0.3.
l FeedDemon-以视窗为基础的RSS 解读器(Reader)。使用起来非常简便而且界面十分整洁。当然,它不是免费软件!
l blogbot- Outlook 或Internet Explorer的一款RSS 解读器(Reader)插件(plug-in)。
提示:Mozilla火狐(Firefox)浏览器含有一个内置的RSS 解读器(Reader)。如果你访问一个提供ESS feeds的网站,你会在地址栏里看到Firefox RSS的图标。单击图标查看不同FEEDS列表,选择你想阅读的feed。
我有了一个RSS 解读器(Reader),那究竟何为RSS 解读器(Reader)呢?
单击位于RSS FEED边上的RSS LOGO或XML LOGO小按钮,在你的浏览器窗口中复制这个URI并把它粘贴到你的RSS解读器(Reader)上。
posted on 2008-01-18 22:14
周锐 阅读(1048)
评论(6) 编辑 收藏 所属分类:
HTML 、
XML 、
XSLT