首先我們來了解一下什麼XML格式。
XML全稱為Extensible Markup Language,是一種通用的數據交換格式,具備平臺無關性、系統無關性、語言無關性等優點,在數據交互中帶來極大地便利。值得一提的是,在不同語言環境中的解析方式都是一樣的,只不過實現的語法不同罷了。
XML文件解析的方法有四種,分別為:DOM解析、SAX解析、JDOM解析、DOM4J解析。其中前兩種屬於基礎方法,是官方提供的平臺無關的解析方式;後兩種屬於擴展方法,它們是在基礎的方法上擴展出來的,只適用於java平臺。因此,在本次內容,我們主要講解後兩種只適合於Java平臺的方法。
我們先來準備一份XML格式的數據,如下:
1.JDOM解析
JDOM是一個開源項目,它基於樹形結構,利用純Java的技術對XML文檔實現解析、生成、序列化及多種操作。
使用JDOM前,需要先下載JDOM的jar包,並且把它加載在類路徑裡面:(Properties->Java Build Path -> Add External JARs...)
JDOM解析特點:
僅使用具體類,而不使用接口。
API大量使用了Collections類。
下面我們來實現用JDOM來解析上述的XML數據。
①先建立一個Student類(代碼省略),並且初始化list對象,如下
②先做準備工作,建立對象
③進行逐步解析過程(省去了Catch部分代碼)
2.DOM4J解析
dom4j是一個簡單的開源庫,用於處理XML、 XPath和XSLT,它基於Java平臺,使用Java的集合框架,全面集成了DOM,SAX和JAXP。
同樣使用它之前,我們需要去下載dom4j.jar包,並放在類路徑下。
DOM4J解析特點:
JDOM的一種智能分支,它合併了許多超出基本XML文檔表示的功能。
它使用接口和抽象基本類方法。
具有性能優異、靈活性好、功能強大和極端易用的特點。
是一個開放源碼的文件
同樣針對前面的Stud.xml,我們來用代碼進行解析。
從代碼量上看起來,DOM4J比JDOM要簡潔一些。
3.簡單總結
DOM4J性能最好,連Sun的JAXM也在用DOM4J。目前許多開源項目中大量採用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J來讀取XML配置文件。如果不考慮可移植性,那就採用DOM4J。
JDOM 在性能測試時表現不佳,在測試 10M 文檔時內存溢出。在小文檔情況下還值得考慮使用 JDOM。
每天進步一點點,每天消化一點點。如果文章對你有所幫助,點個讚唄。