Java中四種解析方式PK

一、基礎解析方式:DOM和SAX

基礎解析是指不需要導入jar包,eclipse直接提供給我們的方式

(1)DOM是一種與平臺無關的官方解析方式,不止java平臺下有DOM解析,其他平臺下也有DOM解析

     DOM解析時會一次性的將XML文件中的所有內容加載到內存中並且形成一個DOM樹,所以當XML比較大時,會浪費時間,因此對內存的性能要求很高

(2)SAX是java平臺提供給我們的一種基於事件驅動的解析方式

     SAX解析時會逐條語句解析,每走一條語句會判斷是否觸發某個事件方法

二、擴展解析方式:JDOM DOM4J

擴展方法在基礎的方法上擴展出來,只有java中能夠使用的解析方法,其他平臺沒有JDOM解析方法

三、四種解析方法的特點

(1)DOM

優點:形成了樹結構,直觀好理解,代碼更易編寫,解析過程中樹結構保留在內存中,方便修改

缺點:當XML文件較大時,對內存耗費比較大,容易影響解析性能並造成內存溢出

(2)SAX

優點:採用事件驅動模式,對內存耗費比較小,適用於只需要XML中的數據時(對結構不關心)

缺點:不易編碼,很難同時訪問同一個XML中的多處不同數據(解析有先後順序,不同的時間出發不同的事件)

(3)JDOM

僅僅使用具體類而不使用接口,簡化了API,但是也限制了JDOM解析的靈活性,API中大量使用了Collections類,簡化了已經熟悉這些類的java開發者的使用,是一個開放源代碼的軟件

(4)DOM4J

現在比較流行的解析方式,最初是JDOM的一種智能分支,它合併了許多超出基本XML文檔表示的功能,對深層次的XML的支持更完善,DOM4J使用接口和抽象基本類方法,是一個優秀的Java XML  API

具有性能優異、靈活性高、功能強大和極端易於使用的特點

是一個開放源代碼的軟件,DOM4J比JDOM性能更高

DOM4J應用範圍很廣,例如Java三大框架Hibernate中也使用DOM4J方式去解析文件

發佈了60 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章