999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

XML解析技術分析與總結

2010-01-01 00:00:00
智能計算機與應用 2010年3期

摘要:隨著XML的廣泛應用,大量的信息都將通過XML文檔來進行存儲、交換,因此xML解析技術成為XML應用的關鍵。本文通過對4種解析技術進行分析和總結,同時本文也介紹了XML解析技術的實現細節,總結歸納了在應用系統中選擇合適的XML解析技術的方法,加深理解實現選擇解析技術的原則。

關鍵詞:XML文檔

解析

中圖分類號:TP312

文獻標識碼:A

文章編號:1002-2422(2010)03-0132-02

XML(Extensible Markup Language。可擴展標記語言)與HTML一樣,都是標準通用語言。是W3C制定的一組規范,用來定義文檔標記語言的框架,同時作為一種便捷的數據操作和數據傳輸的工具,提供了一種描述結構數據的格式,XML以簡單性、開放性、可擴展性、互操作性等一系列特性給基于Web的應用程序帶來了強大的功能和靈活性,因此在現今的Web開發中發揮著越來越重要的作用,使得針對XML文檔的操作也越來越頻繁。XML也為三層B/S/S應用程序開發提供了所需的技術,使本地化計算和操作成為可能。其另一特性是粒狀更新,從而改善了服務器的可縮放性。

由于XML技術的方便性和高效性,一些用于處理XML文檔的解析技術應運而生。作為XML應用的基礎,XML解析技術一直是XML領域的研究熱點。所謂XML文檔的解析就是把代表XML文檔的一個無結構的字符序列轉換為滿足XML語法的結構化組件的過程。在提高解析性能、降低資源占用、改善XML解析器的可用性上,人們做了大量的研究和實踐工作。但是,驗證過程降低了解析器的性能。如何兼顧錯誤檢測能力和性能,已成為XML解析的挑戰。目前主要有四種對XML數據進行解析的技術:(1)DOM(Document Ob-iect Model,文檔對象模型);(2)SAX(Simple API for XML,用于XML的簡單API);(3)JDOM(開源項目,直接為java編程服務);(4)JAXP(Java APIfor XML Processing)。本文將對這四種常用的XML解析技術進行簡要介紹。同時本文也總結歸納了在應用系統中選擇合適的XML解析技術的方法。

1 XML的解析技術

1,1 DOM解析技術

DOM(Document Object Model)是W3C發展的瀏覽XML文檔的一種標準API,用與平臺和語言無關的方式表示XML文檔的標準,是一種基于樹型的解析技術,將XML文檔一次性解析。生成一個位于內存中的對象樹用以描述該文檔。也是以層次結構組織的節點或信息片斷的集合,允許開發人員在XML樹中尋找特定信息,通過加載整個文檔和構造層次結構分析該結構,從而做任何工作。

100M定義了以下一系列的對象和方法對DOM樹的節點進行各種隨機操作:

(1)Document對象:作為樹的最高節點,Document對象是對整個文檔進行操作的入口。

(2)Elemem和Attr對象:這些節點對象都是文檔某一部分的映射,節點的定級層次恰好反映了文檔的結構。

(3)Text對象:作為Element和Attr對象的子節點,Text對象表達了元素或屬性的文本內容。Text節點不再包含任何子節點。

(4)集合索引:DOM提供了幾種集合索引方式,可以對節點按指定方式進行遍歷。索引參數都是從0開始記數的。

1,2 SAX解析技術

SAX(Simple API For XML)是一個基于事件的XML文檔解析標準,是采用“推”模式的解析模型,作為工業界的事實規范應用相當廣泛。解析XML文檔內容,就不得不對XSL(ExtensibleStylesheet Language)進行分析處理,因為XSL是XML的樣式表語言,定義了XML的語法規范。另外,SAX以序列的形式處理文檔,不需要在內存中建立整個文檔的樹結構,因此SAX對內存的要求通常會比較低,因為它讓開發人員自己來決定所要處理的tag。特別是當開發人員只需要處理文檔中所包含的部分數據時,SAX這種擴展能力得到了更好的體現,與DOM相比。其可認為其是一個輕量級的接口集合。但是其不是持久的,事件過后,若沒保存數據,那么數據就丟了。

1,3 JDOM解析技術

JDOM的目的是成為Java特定文檔模型,它簡化了與XML的交互,從而減少DOM、SAX的編碼量,極大減少了代碼量。DOM適合于當今流行的各種語言。包括Java,JavaSeripte,VB,VBSeript,PeH,C,C++等,它也為HTML和XML文檔提供了一個可應用于不同平臺的編程接口。JDOM的另一個特點是它被設計成一個可以在小內存上快速執行的輕量級API,它不要求把整個xML文件放人內存,而只是在需要時把信息裝人內存,從而減少了系統資源開銷。但是使用JDOM的時候,需要一定的前提條件,即須要有SAX、DOM解析器的類文件。

JDOM類庫

在使用JDOM時要下載JDOM類庫,將其加載到JDK中。JDOM類庫是由以下幾個包組成:

(1)org.jdom包含了所有的xml文檔要素的java類。

(2)org.jdom.adapters包含了與dem適配的java類。

(3)org.jdom.filter包含了xml文檔的過濾器類。

(4)orgdidom.input包中提供的構造類從任何數據源中構造文檔。

(5)org.jdom.output包含了讀取xml文檔的類。

(6)org.jdom.transform包含了將jdom xml文檔接口轉換為其他xml文檔接口。

(7)org.jdom.xpath包含了對xmi文檔xpath操作的類。

1,4 JAXP解析技術

JAXP是Java API for XML Processing的縮寫,是一種專門提供XML文檔解析的Java接口。JAXP API主要的部分在iavax,xml.parsers這個包中。在這個包中,向用戶提供了兩個最重要的工廠類,SAXParserFactory和Document-BuilderFactory,相應地,提供了SAXParser和Document-Builder兩個類。

2結束語

通過對以上四種XML解析結束的分析和比較,可以總結出在選擇XML解析技術的選擇依據。

當應用程序解析了文檔還需多次訪問這些數據,可以優先考慮DOM解析;當應用程序需要簡單的只讀數據流并且希望一個體現成熟標準的強健的實施技術時,可以優先考慮SAX解析;當要應用程序實現的功能簡單,如解析、創建等,JDOM是一種最佳選擇;當代碼與各種解析器的實現細節隔離。一般建議使用JAPX。

主站蜘蛛池模板: 成年A级毛片| 99九九成人免费视频精品| 午夜毛片免费观看视频 | 中文字幕亚洲无线码一区女同| 亚洲精品爱草草视频在线| 免费不卡在线观看av| 婷婷亚洲最大| 国产免费久久精品99re不卡| 欧美一级在线| 精品亚洲国产成人AV| 午夜免费视频网站| 国产精品999在线| 国产天天色| 婷婷久久综合九色综合88| 欧美性天天| 国产av一码二码三码无码 | 丝袜美女被出水视频一区| 毛片在线播放a| 久久不卡国产精品无码| 国产精品综合色区在线观看| 久久国产精品麻豆系列| 国产国拍精品视频免费看| 青青操国产| 国产成人凹凸视频在线| 亚洲日韩AV无码精品| 91亚洲免费视频| 国产毛片基地| 91青草视频| 国产精品漂亮美女在线观看| 亚洲美女一区| 一本一道波多野结衣一区二区| 在线亚洲精品福利网址导航| 欧美成人综合视频| 久青草免费在线视频| 999在线免费视频| 久久久久亚洲av成人网人人软件 | 久久精品91麻豆| 精品国产香蕉在线播出| 中文字幕亚洲无线码一区女同| 91网在线| 欧美视频二区| 97精品伊人久久大香线蕉| 最新无码专区超级碰碰碰| 国产成人区在线观看视频| 成人韩免费网站| 视频一区视频二区日韩专区| 久草网视频在线| 波多野结衣的av一区二区三区| 国产又爽又黄无遮挡免费观看| 国产日韩欧美成人| 国产欧美精品一区aⅴ影院| 中文字幕波多野不卡一区| 视频在线观看一区二区| 久草热视频在线| 国产乱肥老妇精品视频| 精品一区二区三区自慰喷水| 色老二精品视频在线观看| 第九色区aⅴ天堂久久香| 极品私人尤物在线精品首页| 91口爆吞精国产对白第三集 | 国产精品微拍| 1769国产精品免费视频| 伊人网址在线| 98超碰在线观看| 韩国v欧美v亚洲v日本v| 亚洲第一黄色网| 亚洲啪啪网| 澳门av无码| 蜜臀AVWWW国产天堂| 欧美成a人片在线观看| 色综合网址| 狠狠综合久久| 欧美日韩在线第一页| 亚洲热线99精品视频| 亚洲免费成人网| 四虎在线高清无码| 视频一本大道香蕉久在线播放| 亚洲va视频| AV老司机AV天堂| 四虎永久免费在线| 91av成人日本不卡三区| 色综合五月婷婷|