亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于XML的Web信息篩選器的設計與實現(xiàn)

        2012-01-15 06:02:44陳丹
        電子設計工程 2012年14期
        關鍵詞:視圖網(wǎng)頁客戶端

        陳丹

        (武漢軟件工程職業(yè)學院 湖北 武漢 430205)

        在Internet上有各式各樣的信息源,可以從中獲取自己想要的信息。但是每個信息源里可能包含你并不想要的信息,例如,你想查看股票信息時,網(wǎng)頁上有許多廣告。不僅如此,要獲取不同的信息就必須打開訪問不同網(wǎng)站,例如,如果想同時獲取天氣信息和股票信息,就必須打開2個窗口,分別訪問提供天氣信息的網(wǎng)頁和提供股票信息的網(wǎng)頁。如果能夠有一個軟件,直接在一個界面上顯示用戶需要的多種信息,而且沒有廣告等多余的信息,將會十分有用。

        基于對以上情況的分析,可以構(gòu)建一個Web服務為用戶提供特定信息的服務,根據(jù)用戶所發(fā)出的信息請求,通過Internet從指定的網(wǎng)站中獲取數(shù)據(jù),進行解析并過濾多余的信息,將解析后有用的信息結(jié)果返回給請求數(shù)據(jù)的客戶端[1-2]。筆者設計的基于XML的Web信息篩選器能實現(xiàn)該Web服務的功能。

        1 基于.NET與XML的Web服務構(gòu)建

        在XML基礎上發(fā)展起來的Web服務提供了一個分布式的計算技術(shù),它使用XML作為基本的數(shù)據(jù)通信方式,消除了不同操作系統(tǒng)、組件模型與編程語言之間通信存在的差異,用于在Internet或者Intranet上通過使用標準的XML協(xié)議和信息格式來實現(xiàn)通信和共享、交換數(shù)據(jù)[3]。構(gòu)建Web服務的目標是將應用程序轉(zhuǎn)化為一種可以通過互聯(lián)網(wǎng)訂閱使用的服務,以及使網(wǎng)絡軟件具有更高的互操作性和兼容性。

        XML Web Service的核心概念是,基于Web的應用程序能夠在基于標準的環(huán)境中創(chuàng)建,并作為服務將內(nèi)容或信息傳遞給需要使用該服務的客戶端。XML Web Service為基于Web的專用應用程序在Internet上的傳輸提供了一種方式,該方式類似于傳統(tǒng)的基于組件的設計,服務的使用者不需要知道它是怎樣運行的,只要知道它所提供的適當?shù)姆蘸徒Y(jié)果。XML Web Service利用XML和其他Internet標準,使得服務的使用者能夠通過XML得到它們的服務。XML Web Service之間的大多數(shù)交換是通過XML數(shù)據(jù)和技術(shù)完成的[4]。

        2 系統(tǒng)功能分析

        基于XML的Web信息篩選器能夠從指定的網(wǎng)站上獲取信息并進行過濾,為客戶端用戶提供天氣,股票和新聞數(shù)據(jù)??蛻舳擞脩敉ㄟ^向Web服務發(fā)出請求,獲取指定城市的天氣情況(如天氣狀況、溫度、風力、紫外線和空氣質(zhì)量),指定代碼和股市的股票信息(如 SS(上海)或 SZ(深圳)的股市信息),以及指定媒體的分類新聞(如新浪網(wǎng)的體育新聞)。

        整個系統(tǒng)設計的框架可以分為以下兩個部分:

        1)Web Service模塊 從Internet上獲取需要的數(shù)據(jù)。

        2)客戶端模塊 調(diào)用Web Service模塊的方法獲取數(shù)據(jù),在客戶端界面上顯示。

        3 總體設計

        本系統(tǒng)分為2個模塊。其中,Web Service模塊主要負責信息的獲取和過濾工作。從特定的網(wǎng)址獲取數(shù)據(jù),并對其進行解析。將解析后有用的結(jié)果返回給請求數(shù)據(jù)的客戶端??蛻舳四K負責從Web Service接收數(shù)據(jù)進行顯示。

        首先需要使用ASP.NET技術(shù)搭建一個Web服務,該Web服務上采用了數(shù)據(jù)庫和XML文檔的存儲形式,服務發(fā)布后就連接到Internet并啟動新聞搜集線程開始準備獲取數(shù)據(jù),通過搜集特定網(wǎng)站中給定頁面的新聞連接得到新聞網(wǎng)頁的url,然后查找每個頁面的新聞連接,將新聞存儲到數(shù)據(jù)庫中,并以XML的形式返回指定網(wǎng)頁的內(nèi)容[5]。Web服務上定義了一系列的方法可以供客戶端進行調(diào)用,為客戶端用戶提供天氣,股票和新聞數(shù)據(jù),根據(jù)條件返回查詢結(jié)果,再將查詢結(jié)果生成的xml文件用XSL轉(zhuǎn)換成HTML返回給客戶端。

        用于對Internet中的網(wǎng)頁信息實現(xiàn)Web信息篩選器的Web服務的總體設計如圖1所示。其中的關鍵技術(shù)包括XML數(shù)據(jù)交換,ADO.NET數(shù)據(jù)訪問技術(shù)和DataSet數(shù)據(jù)集,以及ASP.NET XML Web Service技術(shù)。

        圖1 基于XML的Web信息篩選器的設計Fig.1 Design of Web information filters based on XML

        4 功能模塊設計

        4.1 數(shù)據(jù)庫設計

        由于需要從Internet上獲取信息并將篩選出的有用信息進行保存,以便將結(jié)果返回給請求數(shù)據(jù)的用戶,因此在Web服務端設計了一個數(shù)據(jù)庫News用于相關數(shù)據(jù)的存取,這里選用SQL Server作為數(shù)據(jù)庫服務器[6]。該數(shù)據(jù)庫中共設計了4個數(shù)據(jù)表,包括 Tab_Media(媒體列表)、Tab_Category(新聞類別列表)、Tab_PageUrl(新聞網(wǎng)頁的 url)和 Tab_PagesList(Web網(wǎng)頁的內(nèi)容)。在數(shù)據(jù)庫中還設計了2個數(shù)據(jù)視圖,其中視圖Vew_MediaShortName用于表示與指定媒體對應的新聞網(wǎng)頁的url,視圖Vew_PagesList用于表示媒體中各個新聞類別的網(wǎng)頁內(nèi)容。在Web服務器上還設計了一個XML文檔Cities.xml,用于存放可以獲取天氣信息的城市名列表。

        4.2 WebService模塊

        WebService模塊主要實現(xiàn)了以下功能:

        1)獲取天氣數(shù)據(jù)的功能:從指定的網(wǎng)站中獲取數(shù)據(jù),進行解析并過濾多余的信息,將天氣數(shù)據(jù)返回給客戶端。

        2)獲取股票數(shù)據(jù)的功能:從指定的網(wǎng)站中獲取數(shù)據(jù),進行解析并過濾多余的信息,將股票數(shù)據(jù)返回給客戶端。

        3)獲取訂閱新聞的功能:從指定的網(wǎng)站中獲取新聞,在客戶端顯示。

        4.3 客戶端模塊

        客戶端模塊主要實現(xiàn)以下功能:1)定制天氣、股票、新聞信息;2)顯示天氣、股票、新聞信息;3)每塊信息可放縮,下部的信息塊相應調(diào)整位置;4)定時更新每塊內(nèi)容。股票每分鐘更新一次,新聞每10 min更新一次,天氣每小時更新一次。

        5 功能實現(xiàn)

        系統(tǒng)開發(fā)環(huán)境為Microsoft.NET Framework和SQL Server數(shù)據(jù)庫,使用Microsoft Visual Studio編寫Web服務和客戶端應用程序[7]。

        5.1 Web Service模塊

        對Web Service中部署的類和文件描述如下。

        1)Global類和 Global.asax文件

        Global類在Web Service啟動以后定期將新聞數(shù)據(jù)保存到本地的數(shù)據(jù)庫News中。Global類視圖如圖2所示。

        圖2 Global類視圖Fig.2 Global Class View

        其中涉及的幾個重要方法的功能說明如下:

        ①void Application_Start(object sender,EventArgs e)

        啟動新聞搜集線程,準備數(shù)據(jù)。

        ②void Application_End(object sender,EventArgs e)

        終止搜索線程,關閉數(shù)據(jù)庫連接。

        ③string[,]GatherNews(string pageUrl)

        搜集給定頁面的新聞連接,根據(jù)目標頁面地址返回新聞連接,新聞標題數(shù)組。

        ④void StoreNews()

        將新聞存儲到數(shù)據(jù)庫中。

        ⑤NewsUrl[]GetPageUrl()

        得到新聞網(wǎng)頁的url。

        ⑥XmlDocument GetPageContent(Uri url)

        返回指定網(wǎng)頁的內(nèi)容。

        2)DataRetrival類和DataRetrival.asmx文件

        DataRetrival類是該Web服務中最重要的類,為Client用戶提供天氣,股票和新聞數(shù)據(jù)。它實現(xiàn)了與客戶端的交互,將客戶端需要的信息返回給客戶端。DataRetrival類視圖如圖3所示。

        圖3 DataRetrival類視圖Fig.3 DataRetrival Class View

        該類中部署的Web服務描述如下:

        ①GetCategoryList方法

        獲取支持的媒體欄目列表,該列表以CategoryId;Category-Name的形式返回。例如:4;體育新聞。其中CategoryId是用于定制新聞時的參數(shù),CategoryName顯示的是CategoryId對應的友好名稱。

        ②GetCityNameList方法

        獲取可以查詢天氣的城市列表。

        ③GetMediaList方法

        獲取支持的媒體列表,該列表以MediaId;MediaName的形式返回。例如:6;新浪網(wǎng)。其中MediaId是用于定制新聞時的參數(shù),MediaName顯示的是MediaId對應的友好名稱。

        ④GetStockInfo方法

        獲取指定代碼和股市的股票信息。

        ⑤GetWeatherInfo()

        獲取指定城市的天氣情況,提供當天的天氣數(shù)據(jù)。返回的string數(shù)組內(nèi)容依次為:天氣狀況、溫度、風力、紫外線和空氣質(zhì)量。

        3)CustomizationNews類

        該類用于顯示用戶定制的新聞內(nèi)容,根據(jù)條件返回查詢結(jié)果,再將查詢結(jié)果生成的xml文件用XSL轉(zhuǎn)換成HTML。CustomizationNews類視圖如圖4所示??梢酝ㄟ^類似以下的網(wǎng)址來訪問該頁面:

        http://localhost/CustomizationNews.aspxMedia=6&Category=3

        其中Media由DataRetrival類的GetMediaList方法獲得。Category由DataRetrival類的GetCategoryList方法獲得。

        圖4 CustomizationNews類視圖Fig.4 CustomizationNews Class View

        5.2 客戶端模塊

        客戶端模塊由兩部分組成,一部分是名為Shrinkable GroupBox的自定義控件類庫,它實現(xiàn)了自動收縮的功能。另一部分就是SideBar窗體應用程序,實現(xiàn)了SideBar的主界面和設置界面,調(diào)用WebService獲取信息。

        1)ShrinkableGroupBox類庫

        ①ExtendButton類

        此類實現(xiàn)了ShrinkableGroupBox中的按鈕。當用戶鼠標移動到上面時,鼠標形狀會發(fā)生變化,文字會高亮顯示。單擊后箭頭方向會改變,并對ShrinkableGroupBox進行放縮。

        ②ShrinkableGroupBox類

        此類實現(xiàn)了放縮功能,在縮放后激發(fā)事件。

        2)SideBar項目

        SideBar是一個Windows窗體項目,它是客戶端的主界面,顯示了天氣、股票和新聞信息。其中的可收縮框使用ShrinkableGroupBox。另外,它還提供了定制這些信息的界面,將設置保存到配置文件中。它通過調(diào)用WebService獲取需要顯示的信息。

        ①MainForm類

        此類是客戶端的主界面。

        ②SettingForm類

        此類負責設置并保存用戶的定制信息。

        ③Settings類

        此類用于映射配置文件中的信息。

        5.3 系統(tǒng)實現(xiàn)與測試

        啟動服務器端,發(fā)布Web服務DataRetrival Web Service。運行客戶端應用程序SideBar,調(diào)用Web服務獲取指定網(wǎng)站上的默認城市天氣情況、股票信息以及分類新聞內(nèi)容。通過“配置”對話框,可以查詢北京或上海的股市信息、選擇要查看天氣的城市名稱、定制不同網(wǎng)絡媒體的分類新聞信息。

        6 結(jié) 論

        該系統(tǒng)采用了XML相關技術(shù)和Web服務,設計了一個基于XML的Web信息篩選器應用實例,實現(xiàn)了對特定網(wǎng)站信息的獲取和過濾,為用戶提供了有效信息。經(jīng)過對實例評價分析,Web服務端所提供的服務能夠根據(jù)用戶的定制要求成功完成對指定網(wǎng)頁的信息獲取和過濾,實現(xiàn)了Web篩選器的功能。

        [1]胡軼眾.基于.NET的動態(tài)信息發(fā)布系統(tǒng)的設計與實現(xiàn)[D].四川:重慶大學,2007.

        [2]袁新坤.基于XML與Web Services數(shù)據(jù)交換平臺的研究與實現(xiàn)[D].太原:太原理工大學,2008.

        [3]李俊.XML數(shù)據(jù)轉(zhuǎn)換技術(shù)的研究和改進[D].上海:同濟大學軟件學院,2008.

        [4]李偉超.基于XML的網(wǎng)絡服務研究[D].鄭州:鄭州大學,2006.

        [5]林莉.XML數(shù)據(jù)交換技術(shù)在高校信息化平臺中的應用[D].大連:大連理工大學,2009.

        [6]謝劍剛.XML數(shù)據(jù)在Microsoft+SQL+Server+2005中的存儲和優(yōu)化[D].廣東:中山大學,2007.

        [7]微軟公司.Web應用開發(fā)——ASP.NET 2.0[M].北京:高等教育出版社,2007.

        猜你喜歡
        視圖網(wǎng)頁客戶端
        基于CSS的網(wǎng)頁導航欄的設計
        電子制作(2018年10期)2018-08-04 03:24:38
        縣級臺在突發(fā)事件報道中如何應用手機客戶端
        傳媒評論(2018年4期)2018-06-27 08:20:24
        孵化垂直頻道:新聞客戶端新策略
        傳媒評論(2018年4期)2018-06-27 08:20:16
        基于Vanconnect的智能家居瘦客戶端的設計與實現(xiàn)
        電子測試(2018年10期)2018-06-26 05:53:34
        5.3 視圖與投影
        視圖
        Y—20重型運輸機多視圖
        SA2型76毫米車載高炮多視圖
        基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
        電子制作(2017年2期)2017-05-17 03:54:56
        網(wǎng)頁制作在英語教學中的應用
        電子測試(2015年18期)2016-01-14 01:22:58
        麻豆夫妻在线视频观看| 亚洲av成人无码网站…| 欧美日韩久久久精品a片| 中文字幕乱码亚洲无线精品一区 | 国产精品美女| 蜜桃成人永久免费av大| 你懂的视频网站亚洲视频| 免费无遮挡无码永久在线观看视频| 国产精品制服| 水蜜桃久久| av蜜桃视频在线观看| 日韩精品一二三区乱码| 少妇高潮av久久久久久| 人妻少妇av中文字幕乱码| 无码中文日韩Av| 日韩熟女精品一区二区三区视频| 激情精品一区二区三区| 性无码免费一区二区三区在线| 国产精品日韩高清在线蜜芽| 91精品国产综合久久青草| 中文字幕人妻互换av| 狠狠的干性视频| 美女扒开内裤让男生桶| 亚洲一区不卡在线导航| 草逼视频污的网站免费| 一二区成人影院电影网| 国精产品一区二区三区| 国模少妇无码一区二区三区| 久久一区二区视频在线观看| 日本少妇春药特殊按摩3| 久久国产成人精品国产成人亚洲 | 麻豆精品国产免费av影片| 色欲人妻aaaaaaa无码| 久久亚洲精品无码gv| 人妻丝袜中文字幕久久| 偷拍夫妻视频一区二区| 999久久久无码国产精品| 亚洲国产精品久久九色| 三级国产高清在线观看| 国产成人a在线观看视频免费| 久久精品国产丝袜|