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