隨著辦公室和家庭上網(wǎng)在線時(shí)間的延長(zhǎng),以及 Web 站點(diǎn)和可訪問(wèn)的互聯(lián)網(wǎng)應(yīng)用程序呈持續(xù)爆炸性增長(zhǎng),應(yīng)用程序之間能數(shù)據(jù)共享變得越來(lái)越重要。在異構(gòu)平臺(tái)之間共享數(shù)據(jù)需要一種平臺(tái)中立的數(shù)據(jù)格式,這種數(shù)據(jù)格式要求能易于通過(guò)標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議來(lái)傳輸,而這正是XML的用武之地。因?yàn)閄ML文件本質(zhì)上只是一個(gè)文本文件,其編碼格式眾所周知,而且現(xiàn)有的XML解析器能為所有主流編程語(yǔ)言所用,所以XML數(shù)據(jù)能被任何平臺(tái)輕松使用。
Web 網(wǎng)站聚合就是一種使用 XML 來(lái)共享數(shù)據(jù)的范例,在新聞?wù)军c(diǎn)和網(wǎng)志中經(jīng)常可以看到。采用 Web 網(wǎng)站聚合技術(shù),網(wǎng)站能以 XML 格式的 Web 可訪問(wèn)的聚合文件來(lái)發(fā)布最新內(nèi)容。網(wǎng)站使用的聚合格式有很多種,其中最流行的一種格式就是 RSS2.0。( RSS2.0 規(guī)范被發(fā)布在 Harvard Law 網(wǎng)站 的技術(shù)欄目上)。此外,MSDN 雜志有一個(gè)聚合文件:MSDN雜志:本期刊物, 其中列出了最新一期 MSDN 雜志上的文章,包括到在線版本文章的鏈接。
一旦 Web 站點(diǎn)有了公開(kāi)發(fā)布聚合文件,那么不同的客戶端就可以消費(fèi)它。消費(fèi)聚合文件的方式有很多種,比如,某個(gè)提供 .NET 技術(shù)資源的站點(diǎn)可能希望在網(wǎng)站中 添加最新的 MSDN 雜志文章標(biāo)題。聚合文件還常常被新聞聚合器程序所用,這種程序被專門設(shè)計(jì)用來(lái)獲取和顯示不同來(lái)源的聚合文件。
隨著人們?cè)絹?lái)越注重使用 XML 數(shù)據(jù),在 ASP.NET 頁(yè)面中處理 XML 數(shù)據(jù)的能力變得比以往更關(guān)鍵。既然 Web 站點(diǎn)聚合如此重要, 本文我們就來(lái)創(chuàng)建一個(gè) Web 站點(diǎn)聚合文件生成程序和一個(gè)在線新聞聚合器。在建立這兩個(gè)微型程序的過(guò)程中,我們將講述如何訪問(wèn)和顯示XML數(shù)據(jù),不論這些數(shù)據(jù)是來(lái)自遠(yuǎn)端的Web服務(wù)器還是本地的文件系統(tǒng)。我們將演示如 何多種不同的方法顯示XML數(shù)據(jù),比如:用 Repeater 控件以及用 ASP.NET XML Web控件。
使用 RSS 2.0 規(guī)范的聚合內(nèi)容
本文我們將要?jiǎng)?chuàng)建的第一個(gè)微型程序是一個(gè)聚合文件生成器。針對(duì)這個(gè)迷你程序,假設(shè)你是一個(gè)大型新聞網(wǎng)站(如 MSNBC.com)的 Web 開(kāi)發(fā)者,所有的新聞內(nèi)容都保存在 Microsoft SQL Server 2000 數(shù)據(jù)庫(kù)中。具體地說(shuō),這些文章是 都保存在一個(gè)名為 Articles 的表中,表中以下字段與我們的程序密切相關(guān):