天天看點

解析xml檔案的幾種技術

1、 解析xml的幾種技術

        1.dom4j

        2.sax

        3.jaxb

        4.jdom

        5.dom

1.dom4j       

      dom4j是一個java的xml api,類似于jdom,用來讀寫xml檔案的。dom4j是一個非常優秀的java xml api,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟體。

 2.sax

        sax(simple api for xml)是一種xml解析的替代方法。相比于dom,sax是一種速度更快,更有效的方法。它逐行掃描文檔,一邊掃描一邊解析。而且相比于dom,sax可以在解析文檔的任意時刻停止解析,但任何事物都有其相反的一面,對于sax來說就是操作複雜。

      3.jaxb

         jaxb(java architecture forxml binding) 是一個業界的标準,是一項可以根據xml schema産生java類的技術。該過程中,jaxb也提供了将xml執行個體文檔反向生成java對象樹的方法,并能将java對象樹的内容重新寫到xml執行個體文檔。從另一方面來講,jaxb提供了快速而簡便的方法将xml模式綁定到java表示,進而使得java開發者在java應用程式中能友善地結合xml資料和處理函數。

2、dom4j 與 sax 之間的對比:【注:必須掌握!】

     dom4j不适合大檔案的解析,因為它是一下子将檔案加載到記憶體中,是以有可能出現記憶體溢出,

        sax是基于事件來對xml進行解析的,是以他可以解析大檔案的xml

         也正是因為如此,是以dom4j可以對xml進行靈活的增删改查和導航,而sax沒有這麼強的靈活性

         是以sax經常是用來解析大型xml檔案,而要對xml檔案進行一些靈活(crud)操作就用dom4j