RSS 教學 - 為你的網站加上RSS梁駿傑 知道何謂及如何使用RSS後,可能有些朋友已經欲欲想試著為自己的網站加上RSS功能,不過如果你是用一般部落格(Blog),大可不必看這篇文章,因為大部分的Blog已經提供RSS功能,不用再自行撰寫程式(或RSS種子),但如果你想對RSS的結構有一定的了解,請繼續閱讀。
基礎知識
如果你對HTML (XHTML)及XML (XML Namespaces)有一定了解的話,認識RSS將會非常的簡單,若不了解,可先從以下網頁作了解。
.柴老師的學習HTML網頁
.陳志建的XML學習網頁
RSS版本
現在流通的RSS共有三個版本:
RSS 0.91, 第三版: http://my.netscape.com/publish/formats/rss-spec-0.91.html
RSS 1.0 http://web.resource.org/rss/1.0/
RSS 2.0 http://www.rssboard.org/rss-specification
RSS 0.91與RSS 2.0架構較為類似,而且較容易使用與學習,而RSS 1.0基於W3C RDF的標準開發,較為複雜。各種版本的RSS均有不同的支持者在使用,0.91的約50%,1.0約25%,2.0約25% (*資料來源:w3cshools),不過大部分RSS閱讀器都有支持上述格式。
※本教學主要使用的RSS版本為2.0為主。
RSS的運作原理
如前所述,RSS是XML技術的一種應用,透過標準規範開發出來的RSS種子令所有的RSS閱讀器可以閱讀,有點類似過去的Newsgroup,不過因為是XML格式,要開發/閱讀較過去方便許多,以下先看看一段的RSS檔案:
第1行為XML檔案的標準宣告方式
第2行把自己宣告為RSS 2.0的格式
接下來RSS的channel可以分為兩部分:基本資訊及新聞資訊
先看看在Channel中基本資訊的元素列表
| 元素(Element) |
說明 |
值域 |
必要 |
範例 |
| title |
頻道名稱 |
|
*
|
數位補給站 |
| link |
頻道的網址 |
|
*
|
http://dcaid.com.com/ |
| description |
頻道的描述,通常為RSS閱讀器中的摘要 |
|
*
|
本站之RSS內容僅會列最新十筆資料,列出內容僅為摘要部分,完整文章請到本站(http://dcaid.com/)觀看,謝謝! |
| language |
語系 |
可用netscape或w3c推薦的列表 |
|
zh-tw |
| copyright |
版權說明 |
|
|
Copyright 2006, Kit Leong |
| managingEditor |
責任編輯的email |
|
|
kitleong@pt.ntu.edu.tw (Kit Leong) |
| webMaster |
頻道技術相關事務網站管理員email |
|
|
kitleong@pt.ntu.edu.tw (Kit Leong) |
| pubDate |
頻道內容發佈日期,格式遵循RFC822格式(年份可為2或4位) |
|
|
Thu, 19 Oct 2006 16:05:41 +0800 GMT |
| lastBuildDate |
頻道內容最後的修改日期 |
|
|
Thu, 19 Oct 2006 16:05:41 +0800 GMT |
| category |
指定頻道所屬的一或多個類別 |
|
|
Camera |
| generator |
產生此頻道的程式名稱 |
|
|
http://dcaid.com/ |
| docs |
說明此RSS文件所用格式說明的URL,通常指向右邊範例所用的網頁 |
|
|
http://blogs.law.harvard.edu/tech/rss |
| cloud |
註冊以得到更新訊息的方式 |
|
|
|
| ttl |
有效期限,用以指明該頻道可被Cache的最長時間 |
分鐘為單位 |
|
60 |
| image |
指定一個 GIF或JPEG或PNG圖片,成為頻道的代表圖片 |
|
|
image的子元素如下:
| 元素(Element) |
描述 |
值域 |
重要? |
| url |
圖片的連結 |
|
*
|
| title |
圖片的標題,用於http的alt屬性 |
|
*
|
| link |
網站的網址,通常以頻道的網址代替 |
|
*
|
| width |
圖片的寬度(以像素為單位) |
最大144,預設88 |
|
| height |
圖片的高度(以像素為單位) |
最大400,預設31 |
|
| description |
用於表示圖片的說明(Image中的alt) |
|
|
|
| rating |
頻道分級(主要指成人、限制、兒童等) |
|
|
|
| textInput |
提供一個文字輸入框供使用者輸入 |
|
|
|
| skipHours |
提示RSS閱讀器在那些時段不要進行更新。 |
24小時制,0代表零晨零點 |
|
|
| skipDays |
提示RSS閱讀器在那些日子不要進行更新。 |
用英文的星期代表要跳過更新的日期。 |
|
|
在看完一堆頭昏腦脹的channel元素後,最後來看看更重要的子元素──item,即我說的「新聞訊息區」
| 元素(Element) |
描述 |
值域 |
必要 |
範例 |
| title |
新聞的標題 |
|
*
|
RSS 教學 - RSS的簡介 |
| link |
新聞的來源(或詳細)URL |
|
*
|
http://dcaid.com/article/article.asp?tid=59 |
| description |
新聞的內容 |
|
*
|
什麼是RSS? RSS可以用來做什麼?? RSS有什麼版本? 要如何使用RSS ?,元素內可用符合XHTML規範的元素以呈現網頁。 |
| author |
作者的email |
|
|
kitleong@pt.ntu.edu.tw |
| category |
指定新聞所屬的一或多個類別 |
|
|
電腦: RSS 教學 |
| comments |
該新聞的評論(comments)連結網址的URL |
|
|
http://dcaid.com/article/article.asp?tid=59 |
| enclosure |
附帶的媒體檔案 |
url: 多媒體檔案的網址
length:定義多媒體檔案的大小(byte為單位)
type: 定義多媒體檔案的格式 |
|
|
| guid |
該新聞的唯一識別代碼 |
|
|
http://dcaid.com/article/article.asp?tid=59 |
| pubDate |
新聞的發佈時間 |
|
|
Thu, 19 Oct 2006 00:00:00 +0800 GMT |
| source |
定義新聞的來源網址 |
|
|
|
如果對程式語言有基礎的朋友,在看完上述定義應該可以自行動手製作RSS... 所以以下內容可以略過不看~
製作RSS的方式
基本上,從上得知,RSS是XML格式的檔案,而XML可視為有標籤的文字型檔案,所以,要製作RSS檔案利用Windows內建的筆記本也可以,不過有點累人就是,如果不用筆記本而你的程式也不能跑任一種程式語言,那只好利用坊間的一些RSS輔助工具,在Google用RSS Generator之類的關鍵字應該可以找到不少的資訊,一過用這類工具也不是本節的重點,本節的重點是利用程式語言自動把資料庫中的資訊自動生成RSS,方便又快速。
程式設計架構
- RSS中很多欄位都是非必要,非必要的欄位選一些自己覺得重要或能夠從資料庫自動生成的欄位實作就可以,節省時間。
- 由RSS的架構可以知道主要分為網站的基本資訊及正式的新聞資訊兩部分,所以在程式程計上第一部分可以用一些變數的形式作設定則可,第二部分正式的新聞包裝成一個function,利用迴圈把資訊讀出。
- 把讀出的資訊包裝成XML格的檔案輸出。
相關連結
RSS 教學 - RSS簡介
RSS 教學 - 為你的網站加上RSS
RSS 教學 - 使用ASP輸出RSS 本文完成日期:10/19/2006 本文最後更新日期:10/24/2006 del.icio.us
|