1.RSS 介紹
RSS是利用XML把一個(gè)網(wǎng)站的內(nèi)容發(fā)送給其他網(wǎng)站的方式。RSS允許快速瀏覽新聞與更新。
什么是RSS?
RSS是在線共享內(nèi)容的一種簡易方式(也叫聚合內(nèi)容,Really Simple Syndication),Rss允許聯(lián)合站點(diǎn)內(nèi)容,Rss定義了一個(gè)簡單的方式來共享和查看標(biāo)題及內(nèi)容。Rss文件可以自動更新,Rss允許個(gè)人查看不同站點(diǎn),Rss是用XML編寫的。
為什么要使用Rss?
Rss的作用是顯示已選擇的內(nèi)容。沒有RSS,用戶就必須通過每天檢查站點(diǎn)來進(jìn)行更新。這對于很多用戶而言無疑是一種時(shí)間的浪費(fèi)。但通過RSS 輸入端(feed)(RSS頁常被叫成News feed 或RSS feed),它們就可以通過使用RSS aggregator(RSS aggregator——用來對RSS輸入端(feed)進(jìn)行收集和分類的站點(diǎn)或程序),用戶就可以更快地訪問站點(diǎn)。因?yàn)?/span>RSS數(shù)據(jù)更小,更容易加載,所以通過像手機(jī)或PDA's之類的服務(wù)器都可以很方便的使用。帶有類似信息的Web-rings可以很容易地共享網(wǎng)站上的數(shù)據(jù),并使這些數(shù)據(jù)更加優(yōu)化、更加有用。
誰應(yīng)該使用Rss?
如果網(wǎng)絡(luò)管理員不經(jīng)常更新網(wǎng)站,那么他就不需要RSS。RSS對于需要經(jīng)常更新的網(wǎng)站是非常有用的,如:
l 新聞?wù)军c(diǎn) – 列舉使用標(biāo)題、數(shù)據(jù)以及種類來分列的新聞
l 公司 – 列舉新聞以及新產(chǎn)品列表
l 日歷 – 列舉臨近事件和重要日子
l 站點(diǎn)變化 – 列舉變化的頁面和新頁面
RSS的將來
RSS將無處不在!每天數(shù)以百千的站點(diǎn)都在使用RSS,更多的人們在了解它的實(shí)用性。通過使用RSS,我們能更加方便地查找英特網(wǎng)信息,同時(shí)網(wǎng)絡(luò)開發(fā)者也能更加容易地把他們的信息發(fā)送給特殊的網(wǎng)絡(luò)群體。
2.RSS 歷史
RSS用于很多不同版本。
l 1997年- Dave Winer發(fā)展了scriptingNews. 于是RSS誕生了。
l 1999年- Netscape發(fā)展了RSS 0.90(scriptingNews支持)。這只是相對建議的包含RDF Header的XML。
l 1999年- Dave Winer在UserLand發(fā)展了scriptingNews 2.0b1(這已經(jīng)包含了Netscape's RSS 0.90的特征)
l 1999年- Netscape發(fā)展了RSS 0.91。在這個(gè)版本中他們刪去了RDF header,但是加進(jìn)了大部分scriptingNews 2.0b1的特征。
l 1999年- UserLand脫離了scriptingNews并且只使用RSS 0.91。
l Netscape終止了RSS發(fā)展
l 2000年- UserLand放棄了官方RSS 0.91規(guī)格
l 2000年-在Riel Dornfes,一個(gè)由Rael Dornfest領(lǐng)導(dǎo)的組織開發(fā)了RSS 1.0。其格式用到RDF和命名空間(namespaces)。盡管作為0.91版本之后的一個(gè)新版本,很多人對此持懷疑態(tài)度;但是這是一個(gè)和原先的RSS0.91沒有任何關(guān)聯(lián)的全新版本。
l 2000年- Dave Winer在UserLand開發(fā)了RSS 0.92
l 2002年- Dave在離開Userland之后, 又開發(fā)了RSS 2.0。
l 2003年 - 官方RSS 2.0發(fā)布正式發(fā)布。
有什么不同?
RSS 1.0是唯一使用W3C RDF(資源描述框架Resource Description Framework)標(biāo)準(zhǔn)開發(fā)的。RDF背后的想法是希望幫助創(chuàng)建一個(gè)語義網(wǎng)(Semantic Web)。當(dāng)然,對于普通用戶而言,這并不重要。但是使用網(wǎng)絡(luò)標(biāo)準(zhǔn)可以更加容易的實(shí)現(xiàn)人與應(yīng)用程序之間的數(shù)據(jù)交換。
RSS 0.91和 RSS 2.0對于RSS 1.0而言更容易理解。我們的教程就是以RSS 2.0為基礎(chǔ)的。
是否存在RSS網(wǎng)絡(luò)標(biāo)準(zhǔn)?
RSS沒有官方標(biāo)準(zhǔn):
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的語法規(guī)則非常簡單而且很嚴(yán)謹(jǐn)。這些語法規(guī)則易學(xué)易用。
RSS如何運(yùn)行
RSS是用于網(wǎng)站之間的內(nèi)容共享的。通過RSS,你是通過一個(gè)名為aggregators的組織來注冊內(nèi)容的。所以,如果你想成為其中的一部分,首先得創(chuàng)建一個(gè)RSS文件,用“.XML”擴(kuò)展名保存,并將其上傳到站點(diǎn);接著,通過RSS aggregator進(jìn)行注冊。aggregator每天都會為RSS文檔搜尋已注冊過站點(diǎn),檢驗(yàn)其連接并顯示與RSS相關(guān)的信息以幫助客戶鏈接到他們感興趣的內(nèi)容。
提示:閱讀我們的RSS章節(jié),查看免費(fèi)RSS aggregation服務(wù)。
RSS文件實(shí)例
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的版本和章節(jié)。所以此文件是符合XML1.0規(guī)格的,而且是使用ISO-8859-1 (Latin-1/West European)字符設(shè)置的。
下一行是確定RSS文件的RSS聲明(2.0版本中)。
下一行包含了<channel>元素。此元素用于描述RSS Feed的。<channel>元素含有3個(gè)必要子元素:
l <title>-定義了channel的標(biāo)題
l <link>-定義了到channel的超鏈接
l <description>-描述了channel
每個(gè)<channel>元素可以擁有一個(gè)或多個(gè)<item>元素。
每個(gè)<item>元素定義了一個(gè)項(xiàng)(article)或RSS Feed中的"story"。<item>元素含有3個(gè)必須子元素:
l <title>-定義了項(xiàng)的標(biāo)題
l <link>-定義了到項(xiàng)上的超鏈接
l <description>-定義了項(xiàng)
最后兩行關(guān)閉了<channel> 和 <rss>元素。
RSS的注釋
RSS中編寫注釋的語法與HTML相似。
<!-- This is an RSS comment -->
用XML編寫RSS
因?yàn)?/span>RSS是XML,所以要記?。?/span>
l 所有元素必須含有一個(gè)結(jié)束標(biāo)簽
l 元素要區(qū)分大小寫
l 元素必須恰當(dāng)嵌套
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個(gè)必須子元素,此外,還有一些任意參數(shù)<channel>子元素。接下來,我們將說明一些比較重要的元素。
<category>元素:<category>子元素的作用:詳細(xì)說明輸入端(feed)類別。通過<category>元素,可以使RSS aggregators對基于同一類別(category)的內(nèi)容集合起來。對于上述的RSS文件,其category應(yīng)該是:<category>Web development</category>
<copyright>元素:<copyright>子元素是用來描述版權(quán)材料的。對于上面的RSS文件,版權(quán)(copyright)應(yīng)該是:<copyright>2006 Refsnes Data as. All rights reserved.</copyright>
<image>元素:<image>子元素允許在aggregators 顯示一個(gè)輸入口(feed)的時(shí)候顯示圖像。<image>元素有3個(gè)必須子元素:a. <url>定義了圖像的URI。b. <title>定義了當(dāng)圖像無法顯示時(shí)顯示文本。c. <link>定義了提供channel的站點(diǎn)超鏈接
對于RSS文件,圖形應(yīng)該是:
<image>
<url>http://www.w3schools.com/images/logo.gif</url>
<title>W3Schools.com</title>
<link>http://www.w3schools.com</link>
</image>
|
<language>元素:<language>子元素的作用:詳細(xì)說明用于編寫文件的語言。<language>元素使RSS aggregators能夠群組基于某一種語言(language)的站點(diǎn),上述RSS文件的語言應(yīng)該是:<language>us-en</language>
RSS <channel> 參數(shù)
元素
|
描述
|
<category>
|
任意參數(shù)。為輸入端(feed)定義一個(gè)或多個(gè)類(categories)
|
<cloud>
|
任意參數(shù)。提示注冊者進(jìn)行輸入端(feed)的升級
|
<copyright>
|
任意參數(shù)。用于寫明版權(quán)材料
|
<description>
|
任意參數(shù),形容channel
|
<docs>
|
任意參數(shù)。指明了用于輸入端(feed)格式的文件的URI
|
<generator>
|
任意參數(shù)。指明了用于產(chǎn)生feed的程序
|
<image>
|
任意參數(shù)。當(dāng)aggregators 產(chǎn)生一個(gè)輸入端(feed)時(shí),允許顯示圖像
|
<language>
|
任意參數(shù)。詳細(xì)說明了編寫輸入端(feed)的語言
|
<lastBuildDate>
|
任意參數(shù)。定義了輸入端(feed)內(nèi)容的最后更新日期
|
<link>
|
必要參數(shù)。定義了到channel的超鏈接
|
<managingEditor>
|
任意參數(shù)。定義了輸入端(feed)內(nèi)容編輯者的電子郵件地址
|
<pubDate>
|
任意參數(shù)。定義了輸入端(feed)內(nèi)容的最新出版日期
|
<rating>
|
任意參數(shù)。指明輸入端(feed)的PICS等級
|
<skipDays>
|
任意參數(shù)。指定aggregators跳過輸入端(feed)更新的具體天數(shù)(day)。
|
<skipHours>
|
任意參數(shù)。指定aggregators跳過更新輸入端(feed)的小時(shí)(hour)
|
<textInput>
|
任意參數(shù)。制定了輸入端(feed)顯示的文本輸入欄
|
<title>
|
必要參數(shù)。定義了channel的標(biāo)題(title)
|
<ttl>
|
任意參數(shù)。詳細(xì)說明了在資源庫更新之前輸入端(feed)可以隱藏的分鐘數(shù)。(minute)
|
<webMaster>
|
任意參數(shù)。定義了輸入端(feed)網(wǎng)絡(luò)管理員的電子郵件地址
|
5.RSS 元素
每個(gè)<item>元素都在RSS輸入端(feed)里定義了一個(gè)項(xiàng)(article)或者"story"。<item>元素含有3個(gè)必要的子元素。此外,還有一些任意的<item>子元素。我們會在下面講解一些最關(guān)鍵元素。
<author>元素:<author>子元素的作用:制定author項(xiàng)(item)的電子郵件地址。
上述RSS文件中的Author項(xiàng)應(yīng)該是:<author>hege@refsnesdata.no</author>
注意:為避免垃圾郵件,一些開發(fā)者在程序中并不加入<author>元素。
<comments>元素:<comments>子元素允許一個(gè)項(xiàng)(item)鏈接到此項(xiàng)(item)的注釋上。在上述RSS文件中,項(xiàng)(item)的注釋應(yīng)是:<comments>http://www.w3schools.com/comments</comments>
<enclosure>元素:<enclosure>子元素允許一個(gè)項(xiàng)(item)中包含一個(gè)媒體文件(media-file)。<enclosure>元素有3個(gè)必要屬性:
a. URI-定義了媒體文件的URI。
b. length-定義了媒體文件的長度(以字節(jié)形式)。
c. type-定義了媒體文件的類型。上述RSS文件,包含在項(xiàng)(item)內(nèi)的媒體文件為:<enclosure url="http://www.w3schools.com/rss/rss.mp3
length="5000" type="audio/mpeg" />
RSS <item>參數(shù)
元素
|
描述
|
<author>
|
任意參數(shù)(optional)。制定了author項(xiàng)(item)的電子郵件地址
|
<category>
|
任意參數(shù)。定義了一個(gè)或更多的包含項(xiàng)(item)的類別(catagory)
|
<comments>
|
任意參數(shù)。定義了一個(gè)或更多的包含項(xiàng)(item)的類別(catagory)
|
<description>
|
必要參數(shù)。描述一個(gè)項(xiàng)(item)
|
<enclosure>
|
任意參數(shù)。允許通過項(xiàng)(item)中包含媒體文件
|
<guid>
|
任意參數(shù)。為一個(gè)項(xiàng)(item)定義一個(gè)獨(dú)立的標(biāo)志符
|
<link>
|
必要參數(shù)。定義了到項(xiàng)(item)的超鏈接
|
<pubDate>
|
任意參數(shù)。定義了項(xiàng)(item)的最新發(fā)布日期(last-publication date)
|
<source>
|
任意參數(shù)。指定了項(xiàng)(item)的第三方源。
|
<title>
|
必要參數(shù)。定義了項(xiàng)(item)的標(biāo)題
|
6.RSS 發(fā)布 Feed
如果其他人不能訪問RSS文件,那么即使擁有RSS文件也毫無用處。
把你的RSS輸入端(feed)文件上傳到網(wǎng)上
將RSS 輸入端(feed)上傳到網(wǎng)上的步驟:
a) 為你的RSS文件命名。注意文件必須含有.XML擴(kuò)展名。
b) 驗(yàn)證你RSS文件的有效性(你可以在http://www.feedvalidator.org中找到比較好的驗(yàn)證器)
c) 把RSS文件上傳到網(wǎng)絡(luò)服務(wù)器上的目錄中
d) 在網(wǎng)絡(luò)目錄上復(fù)制RSS LOGO或XML LOGO按鈕
e) 把這兩個(gè)橙色按鈕存放到你要提供給外界的RSS頁面上(如:你的主頁)接著,在這個(gè)鏈接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集合服務(wù):
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)-現(xiàn)在你已經(jīng)從Google, Yahoo, 或MSN上獲得了RSS Feed按鈕。你要明確的是:只有在你的網(wǎng)頁內(nèi)容需要經(jīng)常更新的時(shí)候,RSS Feed按鈕才能發(fā)揮它真正的用處。
我能自己管理自己的RSS 輸入端(feed)嗎?
你需要自己管理RSS Feed,最好的方法就是你先確保你的Feed正在按照你所希望的運(yùn)行方式工作。然而,這可能會浪費(fèi)大量的時(shí)間,特別是需要更新大量網(wǎng)頁時(shí)。還有種方法就是使用第三方的提供的“自動化RSS”。
自動化RSS
如果你不想自己更新RSS輸入端(feed),那么有些工具和服務(wù)可以來幫助你自動完成更新,如:
l MyRSSCreator-只需10分鐘就能提供一套自動可靠的RSS服務(wù)。
l 輸入端(feed)Fire-提供RSS輸入端(feed)的創(chuàng)造和發(fā)布功能。
一些相對流行的博客(blog[Web Log])管理系統(tǒng)也提供內(nèi)置的RSS服務(wù),這些RSS Feed對于用戶管理個(gè)人站點(diǎn)非常有用:
l Blogger
l Radio
RSS 解讀 Feed
RSS 解讀器(Reader)是用于解讀RSS Feeds的!RSS 解讀器(Reader)可以用于許多不同設(shè)備和系統(tǒng)操作。
RSS 解讀器(Reader)
現(xiàn)在有許多不同的RSS 解讀器(Reader)。一部分是用于網(wǎng)絡(luò)服務(wù)的,還有一部分只用于視窗系統(tǒng)(如:Mac, PDA 或 UNIX)。以下可作參考:
l NewsGator Online-免費(fèi)的網(wǎng)上RSS 解讀器(Reader)。包括Outlook的synchronization,查看帶有Media Center Edition的TV目錄和帶有博客(blog)以及標(biāo)題的出版物
l RssReader-一款免費(fèi)的基于視窗的RSS 解讀器(Reader),支持RSS versions 0.9x, 1.0 與 2.0 和 Atom 0.1, 0.2 與0.3.
l FeedDemon-以視窗為基礎(chǔ)的RSS 解讀器(Reader)。使用起來非常簡便而且界面十分整潔。當(dāng)然,它不是免費(fèi)軟件!
l blogbot- Outlook 或Internet Explorer的一款RSS 解讀器(Reader)插件(plug-in)。
提示:Mozilla火狐(Firefox)瀏覽器含有一個(gè)內(nèi)置的RSS 解讀器(Reader)。如果你訪問一個(gè)提供ESS feeds的網(wǎng)站,你會在地址欄里看到Firefox RSS的圖標(biāo)。單擊圖標(biāo)查看不同FEEDS列表,選擇你想閱讀的feed。
我有了一個(gè)RSS 解讀器(Reader),那究竟何為RSS 解讀器(Reader)呢?
單擊位于RSS FEED邊上的RSS LOGO或XML LOGO小按鈕,在你的瀏覽器窗口中復(fù)制這個(gè)URI并把它粘貼到你的RSS解讀器(Reader)上。
posted on 2008-01-18 22:14
周銳 閱讀(1068)
評論(6) 編輯 收藏 所屬分類:
HTML 、
XML 、
XSLT