處理XML文件的三種方式(Java) – JAVA編程語言程序開發技術文章

1 DOM

    DOM(Document Object Model),文檔對象模型,DOM可以以一種獨立於平臺和語言的方式訪問和修改一個文檔的內容和結構。換句話說,這是表示和處理一個HTML或XML文檔的常用方法。有一點很重要,DOM的設計是以對象管理組織(OMG)的規約為基的,因此可以用於任何編程語言。
    DOM實際上是以面向對象方式描述的文檔模型。DOM定義瞭表示和修改文檔所需的對象、這些對象的行為和屬性以及這些對象之間的關系。可以把DOM認為是頁面上數據和結構的一個樹形表示,不過頁面當然可能並不是以這種樹的方式具體實現。
    這種方式有優秀的一個Java開源實現是jsoup。

2 SAX
    一個實現SAX的解析器(也就是“SAX Parser”)以一個串流解析器的型式作用,擁有事件驅動API。由
    使用者定義回調函數,解析時,若發生事件的話會被調用。SAX事件包括:
XML 文字 節點
XML 元素 節點
XML 處理指令
XML 註釋
    事件在任一XML特性遇到時引發,以及遇到他們結尾時再次引發。XML屬性也作為傳給元素事件資料的一部分。SAX 處理時單方向性的;解析過的資料無法在不重新開始的情況下再次讀取。

3 JAXB

Java Architecture for XML Binding 是一個業界的標準,是一項可以根據XML Schema產生Java類的技術。該過程中,JAXB也提供瞭將XML實例文檔反向生成Java對象樹的方法,並能將Java對象樹的內容重新寫到XML實例文檔。從另一方面來講,JAXB提供瞭快速而簡便的方法將XML模式綁定到Java表示,從而使得Java開發者在Java應用程序中能方便地結合XML數據和處理函數。

 Object <–> XML的工具

 

    這意味著你不需要處理甚至不需要知道XML編程技巧就能在Java應用程序中利用平臺核心XML數據的靈活
性。而且,可以充分利用XML的優勢而不用依賴於復雜的XML處理模型如SAX或DOM。JAXB 隱藏瞭細節並且取消瞭SAX和DOM中沒用的關系——生成的JAXB類僅描述原始模型中定義的關系。其結果是結合瞭高度可移植Java代碼和高度可移植的XML數據。其中這些代碼可用來創建靈活、輕便的應用程序和Web服務。

    JAXB隻是一個標準,Sun公司提供的此工具包隻能說是這個標準的一個實現Schema和XML文檔之間的關系,就好像Java中類與實例的關系。

 

 

作者:hongchangfirst

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *