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
周銳 閱讀(1068)
評論(6) 編輯 收藏 所屬分類:
HTML 、
XML 、
XSLT