第8章 RSS.ppt_第1頁
第8章 RSS.ppt_第2頁
第8章 RSS.ppt_第3頁
第8章 RSS.ppt_第4頁
第8章 RSS.ppt_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第8章 RSS,RSS是Web 2.0的重要元素。RSS是Really Simple Syndication的簡稱,它是一種網(wǎng)頁內(nèi)容聯(lián)合格式(Web Content Sydication Format)。本章將介紹RSS文檔的規(guī)范、如何創(chuàng)建一個簡單的RSS文檔、訂閱RSS源的方法,并創(chuàng)建一個基于Web的RSS閱讀器來閱讀訂閱的RSS源。其中,該RSS閱讀器的效果,本章網(wǎng)絡應用程序(網(wǎng)站)的名稱為RSS。,8.1 什么是RSS,本小節(jié)將介紹RSS的基礎知識。內(nèi)容包括RSS的定義、RSS文檔的格式、RSS的技術規(guī)范,以及目前比較流行的RSS的閱讀器。,8.1.1 RSS概述,RSS文檔也是一種XM

2、L文檔。因此,RSS文檔都必須遵循XML 1.0規(guī)范(該規(guī)范發(fā)布在W3C網(wǎng)站上)。目前,RSS存在多個版本:0.91(2000年)、0.92(2000年12月)、0.94(2002年8月)、2.0.1(2002年)等。在每一個RSS文檔的開頭處,存在一個元素。該元素包含屬性version,該屬性指定RSS文檔的版本。下面代碼標識了RSS文檔的版本為2.0版本。 ,8.1.2 RSS技術規(guī)范,本小節(jié)將介紹RSS文檔的技術規(guī)范,主要包括RSS文檔的數(shù)據(jù)類型和元素。 1數(shù)據(jù)類型 2元素,8.1.3 目前流行的RSS閱讀器,隨著RSS摘要數(shù)量的增加,RSS閱讀器已經(jīng)成為了Web 2.0世界里面的一個必

3、需品。它可以幫助用戶發(fā)現(xiàn)和組織感興趣的頻道列表,并提供統(tǒng)一的閱讀界面。下面將介紹國內(nèi)外目前比較流行的RSS閱讀器。 1看天下() 2新聞螞蟻() 3周博通() 4資訊通() 5新浪點點通,8.2 總體功能設計和數(shù)據(jù)庫設計,應用程序RSS主要實現(xiàn)RSS訂閱、RSS閱讀器兩大功能。其中,RSS訂閱包括訂閱互聯(lián)網(wǎng)上包含RSS新聞的頁面等功能。RSS閱讀器包括讀取RSS頁面的內(nèi)容,并解釋該頁面的功能。,8.2.1 總體功能設計,應用程序RSS主要實現(xiàn)了RSS訂閱和RSS閱讀器兩大功能。其中,RSS訂閱主要處理RSS源。RSS閱讀器主要處理RSS頁面的內(nèi)容。具體說明如下: 1RSS訂閱 2RSS閱讀器,

4、8.2.2 表設計,應用程序RSS的數(shù)據(jù)庫比較簡單,它僅僅包含一個表RSSUrl。該表存儲RSS頁面的鏈接地址。RSS閱讀器將讀取該表中存儲地址的頁面的內(nèi)容。下面對RSS外鏈接地址表RSSUrl作下介紹。,8.3 應用程序RSS,本小節(jié)主要介紹應用程序RSS的組成,及其通用模塊的設計。其中,該應用程序由Web窗體頁、類文件、主題文件、資源文件等組成。通用模塊包括一個名稱為“模塊標題”的用戶控件ModuleTitle.ascx,它存放在UserControl目錄下。 8.3.1 應用程序RSS的組成 應用程序RSS包含Admin、App_Code、App_Themes、Bin、Portal和Us

5、erControl目錄,以及頁面Default.aspx、配置文件Web.Config、全局文件Global.asax等。展開Admin和Portal目錄,在【解決方案資源管理器】面板中查看應用程序RSS組成,如圖8.3所示。應用程序RSS的各個目錄和文件的功能具體說明如下: Admin目錄,主要包含超級管理員使用的后臺管理頁面,如注冊新用戶、用戶管理等頁面。,8.3.2 配置文件Web.Config,應用程序RSS的配置文件Web.Config放置在其根目錄下。筆者在該文件中配置了訪問數(shù)據(jù)庫Web2ASPNET2DB的鏈接字符串“data source=localhost;userid=sa

6、;pwd=123456;database=Web2ASPNET2DB”。同時還配置了應用程序RSS的驗證方式為“Windows”。,8.3.3 添加應用程序的引用文件,應用程序RSS使用了3個基礎工程(第2章已經(jīng)詳細介紹過)中的功能。在此,筆者該應用程序中添加了這三個引用(即文件的后綴名為.dll)。它們具體為: Web2ASPNET2.CommonOperation.dll。 Web2ASPNET2.OperateSqlServer.dll。 Web2ASPNET2.UserCommonOperation.dll。,8.3.4 主頁Default.aspx,應用程序RSS的主頁Default

7、.aspx特別簡單。該頁面在Page_Load(object sender, EventArgs e)事件中重定向到用戶登錄頁面UserLogin.aspx。程序代碼如下所示。 protected void Page_Load(object sender,EventArgs e) Response.Redirect(/Portal/UserLogin.aspx); /重定向到登錄頁面 ,8.3.5 通用模塊設計,應用程序RSS中的通用模塊設計只包含一個名稱為“模塊標題”的用戶控件。實現(xiàn)該控件的文件為ModuleTitle.ascx,它的代碼隱藏文件為ModuleTitle.ascx.cs。該用

8、戶控件的設計界面,,8.4 關鍵技術詳解,本小節(jié)將介紹應用程序RSS中的關鍵技術創(chuàng)建一個簡單的RSS頁面。在此,筆者定義了名稱為SampleRss的類,它專門用來創(chuàng)建一個簡單的RSS頁面。類SampleRss定義了創(chuàng)建RSS頁面的頭部、Item項、尾部,以及輸出RSS頁面等方法。具體方法如下所示。 (1)private XmlTextWriter WriteRSSHeader(XmlTextWriter writer),創(chuàng)建RSS頁面的頭部。 (2)private XmlTextWriter WriteRSSItem(XmlTextWriter writer, string title,str

9、ing link, string description),創(chuàng)建RSS頁面的Item項。,8.4.1 創(chuàng)建RSS頁面的頭部,方法WriteRSSHeader(XmlTextWriter writer)創(chuàng)建RSS頁面的頭部。它通過XmlTextWriter對象writer輸出RSS頁面必須的內(nèi)容,如RSS頁面的標志(rss)、版本、頻道的標題、頻道的鏈接、頻道的描述、版權信息等。,8.4.2 創(chuàng)建RSS的Item項,方法WriteRSSItem(XmlTextWriter writer, string title,string link,string description)和方法WriteRS

10、SItem(XmlTextWriter writer,RSSItem item)都是創(chuàng)建RSS頁面的Item項。其中,第一個方法只向頁面輸出Item的標題、鏈接和描述。第二個方法可以輸出Item的所有屬性。,8.4.3 創(chuàng)建RSS頁面的尾部,方法WriteRSSTailer(XmlTextWriter writer)創(chuàng)建RSS頁面的尾部。它通過XmlTextWriter對象writer輸出RSS頁面的結(jié)尾內(nèi)容,如RSS頁面的結(jié)束標志()等。程序代碼如下所示。,8.4.4 輸出RSS頁面,方法CreateSampleRss(HttpResponse response,params RSSItem

11、items)創(chuàng)建一個RSS頁面,即在網(wǎng)頁上輸出RSS頁的內(nèi)容。它首先調(diào)用方法WriteRSSHeader(XmlTextWriter writer)創(chuàng)建RSS頁面的頭部;然后調(diào)用方法WriteRSSItem(XmlTextWriter writer,RSSItem item)創(chuàng)建RSS頁面的Item項;最后調(diào)用方法WriteRSSTailer(XmlTextWriter writer)創(chuàng)建RSS頁面的尾部。,8.4.5 創(chuàng)建一個簡單的RSS頁面,頁面SampleRSS.aspx創(chuàng)建一個簡單RSS頁面,它的代碼隱藏文件為SampleRSS.aspx.cs。該頁面的最終效果, RSS頁面Sampl

12、eRSS.aspx在Page_Load(object sender,System.EventArgs e)事件中創(chuàng)建了兩個Item項,并設置了每一個Item項的Title、Link、Description屬性的值。最后調(diào)用SampleRss類的方法CreateSampleRss(HttpResponse response,params RSSItem items)輸出這兩個Item項,即創(chuàng)建為一個簡單RSS頁面。Page_Load(object sender,System.EventArgs e)事件的程序,8.5 訂閱RSS,本小節(jié)主要介紹應用程序RSS中與訂閱RSS相關的功能,如訂閱RSS

13、源、修改已經(jīng)訂閱的RSS源、RSS源管理等。,8.5.1 數(shù)據(jù)訪問層設計,類Url定義了訂閱RSS功能的數(shù)據(jù)訪問層的操作。該類定義的方法如下: public DataSet GetUrls(),獲取所有訂閱的RSS源。 public SqlDataReader GetSingleUrl(int urlID),獲取單個訂閱的RSS源。 public int AddUrl(string name,string url),訂閱RSS源。 public int UpdateUrl(int urlID,string name,string url),修改訂閱的RSS源。 public int Delet

14、eUrl(int urlID),刪除訂閱的RSS源。,8.5.2 存儲過程,8.5.1小節(jié)中的類Url使用了5個存儲過程。這5個存儲都操作RSSUrl表,說明如下所示。 Pr_GetRSSUrls,獲取所有訂閱的RSS源。 Pr_GetSingleRSSUrl,獲取單個訂閱的RSS源。 Pr_AddRSSUrl,訂閱RSS源。 Pr_UpdateRSSUrl,修改訂閱的RSS源。 Pr_DeleteRSSUrl,刪除訂閱的RSS源。,8.5.3 訂閱RSS源,訂閱RSS源由頁面AddUrl.aspx實現(xiàn),它的代碼隱藏文件為AddUrl.aspx.cs。該頁面實現(xiàn)功能如下。 輸入新RSS源的名稱

15、和URL。 添加新RSS源,并把新RSS源的信息提交到數(shù)據(jù)庫中。 返回到RSS源管理頁面UrlManage.aspx。,8.5.4 修改RSS源,修改RSS源由頁面UpdateUrl.aspx實現(xiàn),它的代碼隱藏文件為UpdateUrl.aspx.cs。該頁面實現(xiàn)功能如下。 編輯RSS源的名稱和URL。 修改RSS源,并把修改后的RSS源信息提交到數(shù)據(jù)庫中。 返回到RSS源管理頁面UrlManage.aspx。,8.5.5 RSS源管理,RSS源管理由頁面UrlManage.aspx實現(xiàn),它的代碼隱藏文件為UrlManage.aspx.cs。該頁面實現(xiàn)功能如下。 以列表形式顯示RSS源的信息。

16、提供重定向到添加和修改RSS源頁面的按鈕。 提供刪除RSS源的功能。,8.6 RSS閱讀器,本小節(jié)主要介紹應用程序RSS中與RSS閱讀器相關的功能,如訂閱RSS的頻道、讀取RSS的頻道、訂閱RSS的Item、讀取RSS的Item等。在此,筆者定義了類RSSItem和RSSChannel實現(xiàn)上述功能。這兩個類都被定義在命名空間Web2ASPNET2.WebRSS中,,8.6.1 定義RSS的Item,在下述程序代碼中,類RSSItem用來表示RSS的Item。它屬于Web2ASPNET2.WebRSS命名空間。RSSItem類定義了一個字典字段attributes。它是一個集合,用來保存Item

17、的子元素的名稱及其值。另外,該字典在類RSSItem的構(gòu)造函數(shù)中初始化,并通過屬性Attributes公開該字典。,8.6.2 定義RSS的頻道,在下述程序代碼中,類RSSChannel用來表示RSS的頻道(Channel)。它被定義在命名空間Web2ASPNET2.WebRSS中。 注意:類RSSChannel繼承于RSSItem類,并且還定義了保存RSS源的URL的私有字段url。 類RSSChannel也定義了一個字典字段items。它是一個集合,用來保存Channel的子元素(如Item、Name等)的名稱及其值。另外,該字典在類RSSChannel的構(gòu)造函數(shù)中初始化,并通過屬性Ite

18、ms公開該字典。,8.6.3 讀取RSS的Item,在下述程序代碼中,類RSSChannel定義了讀取RSS的Item的私有方法private RSSItem ReadItem(XmlTextReader reader,string name)。該方法讀取Item的每一個子元素的值,并創(chuàng)建一個RSSItem對象最為方法的返回結(jié)果。,8.6.4 讀取RSS頻道,在下述程序代碼中,類RSSChannel定義了讀取RSS頻道的方法ReadChannel()。該方法根據(jù)字段url獲取網(wǎng)站的數(shù)據(jù),并檢索每一個頻道的數(shù)據(jù)。其具體步驟如下: (1)根據(jù)URL創(chuàng)建讀取網(wǎng)頁內(nèi)容的XmlTextReader對象reader。 (2)調(diào)用reader的方法Read()讀取內(nèi)容中的每一個元素。 (3)如果元素的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論