在本文開始之前,我們首先有必要了解一下什麼是RSS,以及RSS的使用規則。
第一節 RSS 2.0規范
本節來源:http://blogs.law.harvard.edu/tech/rss
譯文來源:http://tonyqus.cnblogs.com/archive/2005/01/30/93684.aspx
什麼是RSS?
RSS是一種網頁內容聯合格式(web content sydication format)。
它的名字是Really Simple Syndication的縮寫。
RSS是XML的一種。所有的RSS文檔都遵循XML 1.0規范,該規范發布在W3C網站上。
在一個RSS文檔的開頭是一個<rss>節點和一個規定的屬性version,該屬性規定了該文檔將以RSS的哪個版本表示。如果該文檔以這個規范來表示,那麼它的version屬性就必須等於2.0。
在<rss>節點的下一級是一個獨立的<channel>節點,該節點包含關於channel的信息和內容。
關於本文檔
本文檔屬於RSS版本為2.0.1。
必需的頻道節點
下面有一份必須包含的頻道(channel)節點的列表,每一個都有一個簡單的描述、一個例子、應該出現的位置和更詳細描述的超鏈接(以http://www.ppurl.com/feed為例)。
元素
描述
范例
title
頻道(channel)名稱。它可以告訴別人如何訪問你的服務。如果你有一個與你的RSS文件內容一致的HTML網站,你的title元素值應該與你的網站的標題相同。
皮皮書屋
link
響應該頻道的網站的URL
http://www.ppurl.com
description
關於該頻道的描述
這裡只有一些還不錯的電子書。
可選的頻道元素
下面是可選的頻道元素(channel)中可以包含的元素列表 :
節點
描述
范例
language
使用的語言。這允許聚合器對所有的意大利語站點分組。
en-us
copyright
版權聲明
Copyright 2002, Spartanburg Herald-Journal
managingEditor
內容負責人的Email
[email protected] (George Matesky)
webMaster
技術人員的Email
[email protected] (Betty Guernsey)
pubDate
內容的發布時間
Sat, 07 Sep 2002 00:00:01 GMT
lastBuildDate
最後更新時間
Sat, 07 Sep 2002 09:42:31 GMT
category
指定該頻道所屬的一個或多個分類。遵循與item級category元素相同的規則。
<category>Newspapers</category>
generator
生成該頻道的程序名稱
MightyInHouse Content System v2.3
docs
指向rss格式文檔的url地址?
http://blogs.law.harvard.edu/tech/rss
cloud
允許所有進程注冊一個cloud用於獲得頻道的更新通知,並為rss種子實現一個輕量級的發布訂閱協議。
<cloud domain="rpc.sys.com" port="80" path="/RPC2" registerProcedure="pingMe" protocol="soap"/>
ttl
ttl是Time to live的縮寫。它指示cache的有效保存時間。
<ttl>60</ttl>
image
與頻道一起顯示的圖片地址
rating
該頻道的統計圖片地址
textInput
指定一個textbox與該頻道一起顯示
skipHours
告訴使用者哪些時段是可以忽略的
skipDays
告訴使用著哪些天是可以忽略的
以下是頻道(channel)元素中幾個常用子節點的說明:
<channel>子節點<image>
l <image>是一個可選的<channel>子節點,該節點包含三個必需的子元素和三個可選的子元素。
l <url>是GIF、JPEG或PNG圖像文件的URL地址,該圖像代表整個頻道 。
l <title>用於描述上面的圖像,等同於HTML語言中的<img>的alt屬性 。
l <link>是要連接的站點的url,當顯示頻道時,圖像的連接指向該站點。
l <title>和<link>應該與頻道的<title>和<link>有相同的值。
l 可選的節點包括<width>和<height>,它們是數字類型,指定圖像的寬度和高度,單位為像素。
l <description>就是link的TITLE屬性中文本,它將在調用網頁時顯示出來。
備注:
圖像寬度的最大值為144,默認值為88
圖像高度的最大值為400,默認值為31
<channel>子節點<cloud>
<cloud>是一個可選的<channel>子節點。
它指定一個可以支持rssCloud接口的web服務,rssCloud接口可以用HTTP-POST,XML-RPC或SOAP1.1實現。
它的目的是允許通知注冊為cloud的進程頻道被更新,從而實現一個輕量級的發布訂閱協議。
<cloud domain="rpc.sys.com" port="80" path