• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于XML的數(shù)據(jù)交換技術(shù)在校園網(wǎng)應(yīng)用中的實現(xiàn)

      2009-07-16 09:33:54
      新媒體研究 2009年8期
      關(guān)鍵詞:數(shù)據(jù)交換校園網(wǎng)

      王 昕

      [摘要]以數(shù)字化校園建設(shè)作為背景,基于XML在集成異構(gòu)數(shù)據(jù)源、數(shù)據(jù)的多種顯示等方面的重要應(yīng)用,探討數(shù)字化校園建設(shè)中的不同平臺/系統(tǒng)之間的數(shù)據(jù)交換及信息的處理和發(fā)布等方面的重要技術(shù)及解決方法。

      [關(guān)鍵詞]校園網(wǎng) XML 數(shù)據(jù)交換

      中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)0420052-01

      數(shù)據(jù)處理是數(shù)字化校園網(wǎng)建設(shè)的核心部分。在數(shù)字化校園網(wǎng)的建設(shè)中,可以用XML統(tǒng)一表示來自不同數(shù)據(jù)源的數(shù)據(jù),來實現(xiàn)學(xué)校各部門之間以及部門內(nèi)部各系統(tǒng)間的數(shù)據(jù)共享、數(shù)據(jù)交互。但是XML文檔本身只是一個文本文件,它需要能識別XML格式化信息的解析器來解析并提取其中的內(nèi)容。

      在J2EE架構(gòu)中,有兩種基本方式對XML數(shù)據(jù)進(jìn)行解析并讀入到某個對象模型中,它們是DOM方式和SAX方式。DOM和SAX是兩種最流行的應(yīng)用于XML的編程API,這兩種技術(shù)的根本差別在于客戶應(yīng)用程序得到XML文檔數(shù)據(jù)的方式不同。SAX是事件驅(qū)動模型,這就意味著解析器識別出文檔特性時,客戶應(yīng)用程序不斷接到通知。相反地,DOM模型是基于對象的,整篇XML文檔作為分層次排列的對象來解析和存儲,客戶應(yīng)用程序可以隨機(jī)訪問這些對象。

      在應(yīng)用程序的開發(fā)過程中,應(yīng)用程序不是直接對XML文檔進(jìn)行操作的,而是首先由XML解析器對XML文檔進(jìn)行解析,然后,應(yīng)用程序通過XML解析器所提供的DOM接口或SAX接口對解析結(jié)果進(jìn)行操作,從而間接地實現(xiàn)了對XML文檔的訪問。

      我們在進(jìn)行數(shù)字化校園的系統(tǒng)開發(fā)時,根據(jù)具體的情況分別用到這兩種解析器,下面對這兩種解析器的解析步驟和相應(yīng)的操作進(jìn)行介紹。

      一、基于DOM API的數(shù)據(jù)處理

      (一)使用DOM解析XML文件

      為了使用XML文件中的信息,必須解析文件以創(chuàng)建一個Document對象。在javax.xml.parsers中,jdkl.4提供的DoumentBuilder和DocumentBu

      -ilderFactory組合可以對XML文件進(jìn)行解析,轉(zhuǎn)換成DOM文檔。Document對象是一個接口,因而不能直接將它實例化;一般情況下,應(yīng)用程序會相應(yīng)使用一個工廠。

      具體的解析步驟如下:

      1.創(chuàng)建一個解析器工廠,以利用這個工廠來獲得一個具體的解析器對象。

      2.創(chuàng)建DocumentBuilder對象,這個對象代表了具體的DOM解析器。

      3.解析XML文件以創(chuàng)建Document對象。

      這樣就創(chuàng)建了一個XML的DOM文檔樹,然后可以開始構(gòu)建應(yīng)用程序來對DOM的文檔樹進(jìn)行訪問了。利用DOM,開發(fā)人員可以進(jìn)行動態(tài)地創(chuàng)建 XML文檔、遍歷結(jié)構(gòu)、添加、修改、刪除內(nèi)容等操作。DOM面向?qū)ο蟮奶匦?,使人們在處理和XML解析相關(guān)的事務(wù)時節(jié)省大量精力,是一種符合代碼重用思想的強(qiáng)有力的編程工具。

      (二)基于DOM API的節(jié)點編輯

      在對XML文檔進(jìn)行解析并獲得XML文檔的Document對象后,就可以開始構(gòu)建應(yīng)用程序來對DOM的文檔樹進(jìn)行訪問了。目前Sun公司推出的jdkl. 4測試版中的java API遵循了DOM level 2 Core推薦接口的語義說明,提供了相應(yīng)的Java語言的實現(xiàn)。在rg. xml. dom中,jdkl. 4提供了Document,DocumentType,Node,NodeList,Element,Text等接口,這些接口均是訪問DOM文檔所必須的。我們可以利用這些接口創(chuàng)建、遍歷、修改DOM文檔。

      二、基于事件的數(shù)據(jù)處理

      (一)SAX解析步驟

      SAX在讀取XML流的同時處理它們,而分析這個代碼片斷的SAX處理器一般情況下將產(chǎn)生以下事件:startDocument、endDocument、startElement、endElement和characters。SAX API允許開發(fā)人員捕捉這些事件并對它們做出反應(yīng)。

      SAX處理涉及以下幾步:

      1.創(chuàng)建事件處理程序。

      2.創(chuàng)建SAX解析器。

      3.將事件處理程序分配給解析器。

      4.解析文檔,同時向事件處理程序發(fā)送每個事件。

      (二)事件驅(qū)動的文檔解析實例

      SAX解析器對XML文檔進(jìn)行解析,將要使用的部分?jǐn)?shù)據(jù)提取到應(yīng)用程序,為了保存數(shù)據(jù)以便其他程序能夠調(diào)用數(shù)據(jù),我們可以采用Java提供的散列表類Hashtable來保存解析XML文件后的所有節(jié)點名字以及節(jié)點的數(shù)據(jù)值。哈希表HashTable是從Dictionary派生出來的,它具有一系列的關(guān)鍵字和數(shù)值,一個關(guān)鍵字對應(yīng)一個數(shù)值,識別主要是通過對象的哈希代碼hashCode識別。

      程序中使用Hashtable類存儲數(shù)據(jù)時,首先要用Hashtable()創(chuàng)建一個散列表對象,然后使用put()方法將數(shù)據(jù)填入該對象中,查詢數(shù)據(jù)可以使用get方法。

      三、數(shù)據(jù)交換流程的設(shè)計

      XML為在不同的數(shù)據(jù)庫之間傳遞信息提供了理想的機(jī)制。從本質(zhì)上講,數(shù)據(jù)庫是專有的,即每個數(shù)據(jù)庫有不同的元素命名結(jié)構(gòu),不同的規(guī)格化級別,甚至描述枚舉信息的方法也不盡相同。利用DOM/SAX能夠簡化各種數(shù)據(jù)庫之間信息傳遞的方式。通過將DOM/SAX作為公共的傳輸機(jī)制,每個數(shù)據(jù)庫只需要以XML作為中介導(dǎo)入和導(dǎo)出即可。

      用XML作為數(shù)據(jù)交換的中介,系統(tǒng)可以屏蔽掉后臺的多種數(shù)據(jù)源,用統(tǒng)一的XML文檔呈現(xiàn)給用戶。接收數(shù)據(jù)方根據(jù)數(shù)據(jù)XML文檔的類型可以對數(shù)據(jù)XML文檔進(jìn)行任意的業(yè)務(wù)處理。在數(shù)字化校園建設(shè)中,為了使基于XML的業(yè)務(wù)數(shù)據(jù)交換成為可能,就必須實現(xiàn)數(shù)據(jù)庫的XML數(shù)據(jù)存取,并且將XML數(shù)據(jù)同應(yīng)用程序集成,進(jìn)而使之同現(xiàn)有的業(yè)務(wù)規(guī)則相結(jié)合,并且加以利用,從而完成學(xué)校各部門之間以及學(xué)校與教育主管部門之間的交換數(shù)據(jù),實現(xiàn)教務(wù)數(shù)據(jù)的上傳下發(fā),真正使教育信息化成為一體化應(yīng)用,不再是信息孤島。

      開發(fā)基于XML的動態(tài)應(yīng)用(如動態(tài)數(shù)據(jù)交換、動態(tài)信息發(fā)布),就是要能從數(shù)據(jù)庫中取出需要交換的數(shù)據(jù),并動態(tài)產(chǎn)生XML文檔在各個應(yīng)用程序之間傳遞,不同應(yīng)用系統(tǒng)中不同語言編寫的應(yīng)用程序就可正確識別和解析文檔中的數(shù)據(jù),實現(xiàn)數(shù)據(jù)的動態(tài)交換。

      以上是在基于XML的數(shù)據(jù)交換技術(shù)在校園網(wǎng)中進(jìn)行共享數(shù)據(jù)的一種解決思路,希望能夠拋磚引玉,尋求一種更好的解決方案。

      參考文獻(xiàn):

      [1](美)Natanya Pitts,徐曉梅、龔志翔、王曉云等譯,XML技術(shù)內(nèi)幕,北京:機(jī)械工業(yè)出版社,2002.

      [2]章明、許青松、沈錫臣,基于XML的數(shù)據(jù)交換共享平臺模型,清華大學(xué)學(xué)報(自然科學(xué)版),2003.01.

      猜你喜歡
      數(shù)據(jù)交換校園網(wǎng)
      數(shù)字化校園網(wǎng)建設(shè)及運(yùn)行的幾點思考
      甘肅教育(2020年18期)2020-10-28 09:05:54
      試論最大匹配算法在校園網(wǎng)信息提取中的應(yīng)用
      電子制作(2019年10期)2019-06-17 11:45:26
      NAT技術(shù)在校園網(wǎng)中的應(yīng)用
      電子制作(2017年8期)2017-06-05 09:36:15
      XBRL在財務(wù)報表網(wǎng)絡(luò)數(shù)據(jù)交換中的應(yīng)用
      中職學(xué)校教學(xué)資源管理系統(tǒng)的設(shè)計與實現(xiàn)
      VPN在校園網(wǎng)中的集成應(yīng)用
      陕西省| 绥化市| 屯门区| 平遥县| 资阳市| 鞍山市| 茌平县| 丹阳市| 舒城县| 平遥县| 东兴市| 亚东县| 甘德县| 临城县| 阿拉善左旗| 石泉县| 吉水县| 宁城县| 舟山市| 江达县| 孟津县| 南安市| 长汀县| 垦利县| 平邑县| 白水县| 蓝田县| 临潭县| 太谷县| 岳西县| 山阳县| 阳曲县| 白朗县| 舟山市| 彭山县| 安福县| 阿拉善左旗| 禹城市| 辉县市| 沿河| 梓潼县|