教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Java培訓(xùn)之DOM4J

更新時(shí)間:2016年06月27日16時(shí)19分 來(lái)源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):

1 DOM4J是什么
DOM4J是針對(duì)Java開(kāi)發(fā)人員專門提供的XML文檔解析規(guī)范,它不同與DOM,但與DOM相似。DOM4J針對(duì)Java開(kāi)發(fā)人員而設(shè)計(jì),所以對(duì)于Java開(kāi)發(fā)人員來(lái)說(shuō),使用DOM4J要比使用DOM更加方便。
DOM4J對(duì)DOM和SAX提供了支持,使用DOM4J可以把org.dom4j.document轉(zhuǎn)換成org.w3c.Document,DOM4J也支持基于SAX的事件驅(qū)動(dòng)處理模式。
使用者需要注意,DOM4J解析的結(jié)果是org.dom4j.Document,而不是org.w3c.Document。DOM4J與DOM一樣,只是一組規(guī)范(接口與抽象類組成),底層必須要有DOM4J解析器的實(shí)現(xiàn)來(lái)支持。
DOM4J使用JAXP來(lái)查找SAX解析器,然后把XML文檔解析為org.dom4j.Document對(duì)象。它還支持使用org.w3c.Document來(lái)轉(zhuǎn)換為org.dom4j.Docment對(duì)象。
 

2 DOM4J中的類結(jié)構(gòu)
在DOM4J中,也有Node、Document、Element等接口,結(jié)構(gòu)上與DOM中的接口比較相似。但還是有很多的區(qū)別:

在DOM4J中,所有XML組成部分都是一個(gè)Node,其中Branch表示可以包含子節(jié)點(diǎn)的節(jié)點(diǎn),例如Document和Element都是可以有子節(jié)點(diǎn)的,它們都是Branch的子接口。
Attribute是屬性節(jié)點(diǎn),CharacterData是文本節(jié)點(diǎn),文本節(jié)點(diǎn)有三個(gè)子接口,分別是CDATA、Text、Comment。
 

3 DOM4J獲取Document對(duì)象
使用DOM4J來(lái)加載XML文檔,需要先獲取SAXReader對(duì)象,然后通過(guò)SAXReader對(duì)象的read()方法來(lái)加載XML文檔:
new SAXReader.read(“xml文檔”);
4 DOM4J保存Document對(duì)象
保存Document對(duì)象需要使用XMLWriter對(duì)象的write()方法來(lái)完成,在創(chuàng)建XMLWriter時(shí)還可以為其指定XML文檔的格式(縮進(jìn)字符串以及是否換行),這需要使用OutputFormat來(lái)指定。
5 DOM4J創(chuàng)建Document對(duì)象
DocumentHelper類有很多的createXXX()方法,用來(lái)創(chuàng)建各種Node對(duì)象。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://oisangadgets.com/javaee
 
0 分享到:
和我們?cè)诰€交談!