posts - 431,  comments - 344,  trackbacks - 0
RSS
1RSS 介绍

RSS是利用XML把一个网站的内容发送给其他网站的方式。RSS允许快速浏览新闻与更新。

什么是RSS

RSS是在线共享内容的一种简易方式(也叫聚合内容,Really Simple SyndicationRss允许联合站点内容,Rss定义了一个简单的方式来共享和查看标题及内容。Rss文件可以自动更新,Rss允许个人查看不同站点,Rss是用XML编写的。

为什么要使用Rss

Rss的作用是显示已选择的内容。没有RSS,用户就必须通过每天检查站点来进行更新。这对于很多用户而言无疑是一种时间的浪费。但通过RSS 输入端(feed)(RSS页常被叫成News feed RSS feed),它们就可以通过使用RSS aggregatorRSS aggregator——用来对RSS输入端(feed)进行收集和分类的站点或程序),用户就可以更快地访问站点。因为RSS数据更小,更容易加载,所以通过像手机或PDA's之类的服务器都可以很方便的使用。带有类似信息的Web-rings可以很容易地共享网站上的数据,并使这些数据更加优化、更加有用。

谁应该使用Rss

如果网络管理员不经常更新网站,那么他就不需要RSSRSS对于需要经常更新的网站是非常有用的,如:

l         新闻站点列举使用标题、数据以及种类来分列的新闻

l         公司列举新闻以及新产品列表

l         日历列举临近事件和重要日子

l         站点变化列举变化的页面和新页面

RSS的将来

RSS将无处不在!每天数以百千的站点都在使用RSS,更多的人们在了解它的实用性。通过使用RSS,我们能更加方便地查找英特网信息,同时网络开发者也能更加容易地把他们的信息发送给特殊的网络群体。

2RSS 历史

RSS用于很多不同版本。

l         1997- Dave Winer发展了scriptingNews. 于是RSS诞生了。

l         1999- Netscape发展了RSS 0.90scriptingNews支持)。这只是相对建议的包含RDF HeaderXML

l         1999- Dave WinerUserLand发展了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 WinerUserLand开发了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

3RSS 语法

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

因为RSSXML,所以要记住:

l         所有元素必须含有一个结束标签

l         元素要区分大小写

l         元素必须恰当嵌套

l         必须引用属性值

4RSS <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>定义了图像的URIb. <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> 参数

元素

描述

<category>

任意参数。为输入端(feed)定义一个或多个类(categories)

<cloud>

任意参数。提示注册者进行输入端(feed)的升级

<copyright>

任意参数。用于写明版权材料

<description>

任意参数,形容channel

<docs>

任意参数。指明了用于输入端(feed)格式的文件的URI

<generator>

任意参数。指明了用于产生feed的程序

<image>

任意参数。当aggregators 产生一个输入端(feed)时,允许显示图像

<language>

任意参数。详细说明了编写输入端(feed)的语言

<lastBuildDate>

任意参数。定义了输入端(feed)内容的最后更新日期

<link>

必要参数。定义了到channel的超链接

<managingEditor>

任意参数。定义了输入端(feed)内容编辑者的电子邮件地址

<pubDate>

任意参数。定义了输入端(feed)内容的最新出版日期

<rating>

任意参数。指明输入端(feed)的PICS等级

<skipDays>

任意参数。指定aggregators跳过输入端(feed)更新的具体天数(day)。

<skipHours>

任意参数。指定aggregators跳过更新输入端(feed)的小时(hour)

<textInput>

任意参数。制定了输入端(feed)显示的文本输入栏

<title>

必要参数。定义了channel的标题(title)

<ttl>

任意参数。详细说明了在资源库更新之前输入端(feed)可以隐藏的分钟数。(minute)

<webMaster>

任意参数。定义了输入端(feed)网络管理员的电子邮件地址

5RSS 元素

每个<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>参数

元素

描述

<author>

任意参数(optional)。制定了author项(item)的电子邮件地址

<category>

任意参数。定义了一个或更多的包含项(item)的类别(catagory)

<comments>

任意参数。定义了一个或更多的包含项(item)的类别(catagory)

<description>

必要参数。描述一个项(item)

<enclosure>

任意参数。允许通过项(item)中包含媒体文件

<guid>

任意参数。为一个项(item)定义一个独立的标志符

<link>

必要参数。定义了到项(item)的超链接

<pubDate>

任意参数。定义了项(item)的最新发布日期(last-publication date)

<source>

任意参数。指定了项(item)的第三方源。

<title>

必要参数。定义了项(item)的标题

6RSS 发布 Feed

如果其他人不能访问RSS文件,那么即使拥有RSS文件也毫无用处。

把你的RSS输入端(feed)文件上传到网上

RSS 输入端(feed)上传到网上的步骤:

a)         为你的RSS文件命名。注意文件必须含有.XML扩展名。

b)        验证你RSS文件的有效性(你可以在http://www.feedvalidator.org中找到比较好的验证器)

c)        RSS文件上传到网络服务器上的目录中

d)        在网络目录上复制RSS LOGOXML 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)目录(你可以通过GoogleYahoo 搜索"RSS 输入端(feed)目录")注意!FeedURI不是你的主页,它只是FEEDURL而已,(如:"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         输入端(feedFire-提供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)。包括Outlooksynchronization,查看带有Media Center EditionTV目录和带有博客(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 LOGOXML LOGO小按钮,在你的浏览器窗口中复制这个URI并把它粘贴到你的RSS解读器(Reader)上。

posted on 2008-01-18 22:14 周锐 阅读(1054) 评论(6)  编辑  收藏 所属分类: HTMLXMLXSLT

只有注册用户登录后才能发表评论。


网站导航: