Java中對XML格式數據的四種解析方式,代碼示例解析

編程語言 XML 盤點 我的IT之旅 2017-07-16

首先我們來了解一下什麼XML格式。

XML全稱為Extensible Markup Language,是一種通用的數據交換格式,具備平臺無關性、系統無關性、語言無關性等優點,在數據交互中帶來極大地便利。值得一提的是,在不同語言環境中的解析方式都是一樣的,只不過實現的語法不同罷了。

Java中對XML格式數據的四種解析方式,代碼示例解析

XML文件解析的方法有四種,分別為:DOM解析、SAX解析、JDOM解析、DOM4J解析。其中前兩種屬於基礎方法,是官方提供的平臺無關的解析方式;後兩種屬於擴展方法,它們是在基礎的方法上擴展出來的,只適用於java平臺。因此,在本次內容,我們主要講解後兩種只適合於Java平臺的方法

我們先來準備一份XML格式的數據,如下:

Java中對XML格式數據的四種解析方式,代碼示例解析

1.JDOM解析

JDOM是一個開源項目,它基於樹形結構,利用純Java的技術對XML文檔實現解析、生成、序列化及多種操作。

使用JDOM前,需要先下載JDOM的jar包,並且把它加載在類路徑裡面:(Properties->Java Build Path -> Add External JARs...)

JDOM解析特點:

  • 僅使用具體類,而不使用接口。

  • API大量使用了Collections類。

下面我們來實現用JDOM來解析上述的XML數據。

①先建立一個Student類(代碼省略),並且初始化list對象,如下

Java中對XML格式數據的四種解析方式,代碼示例解析

②先做準備工作,建立對象

Java中對XML格式數據的四種解析方式,代碼示例解析

③進行逐步解析過程(省去了Catch部分代碼)

Java中對XML格式數據的四種解析方式,代碼示例解析

2.DOM4J解析

dom4j是一個簡單的開源庫,用於處理XML、 XPath和XSLT,它基於Java平臺,使用Java的集合框架,全面集成了DOM,SAX和JAXP。

同樣使用它之前,我們需要去下載dom4j.jar包,並放在類路徑下。

DOM4J解析特點:

  • JDOM的一種智能分支,它合併了許多超出基本XML文檔表示的功能。

  • 它使用接口和抽象基本類方法。

  • 具有性能優異、靈活性好、功能強大和極端易用的特點。

  • 是一個開放源碼的文件

同樣針對前面的Stud.xml,我們來用代碼進行解析。

Java中對XML格式數據的四種解析方式,代碼示例解析

從代碼量上看起來,DOM4J比JDOM要簡潔一些。

3.簡單總結

  • DOM4J性能最好,連Sun的JAXM也在用DOM4J。目前許多開源項目中大量採用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J來讀取XML配置文件。如果不考慮可移植性,那就採用DOM4J。

  • JDOM 在性能測試時表現不佳,在測試 10M 文檔時內存溢出。在小文檔情況下還值得考慮使用 JDOM

每天進步一點點,每天消化一點點。如果文章對你有所幫助,點個讚唄。

相關推薦

推薦中...