Java使用dom4j解析xml、讀取xml文件圖文教程
技能分析:解析XML
使用DOM4J解析XML文檔的步驟:
Dom4j 是一個(gè)開源的 XML 解析框架,它基于 Java 的 sax 解析器和 jaxp 解析器開發(fā),提供了靈活簡(jiǎn)便、性能優(yōu)良、擴(kuò)展性強(qiáng)的 XML 解析和生成功能。
Dom4J通過(guò)SAXReader對(duì)象加載并解析xml文件,把它轉(zhuǎn)換為內(nèi)存中的Document對(duì)象,接著對(duì)Document對(duì)象中的元素進(jìn)行添加、更新和刪除操作,并且通過(guò)XMLWriter對(duì)象把修改后的Document對(duì)象保存到xml文件中。
幫助手冊(cè):Overview (dom4j 1.6.1 API)

Dom4j核心對(duì)象
1.SAXReader:xml解析器
(1)創(chuàng)建SASXReader對(duì)象,無(wú)參構(gòu)造方法
(2)調(diào)用read(xml文件資源),讀取并解析xml,得到Document對(duì)象
2.Document:xml文檔
調(diào)用ELement getRootELement() 得到 根標(biāo)簽對(duì)象
3.ELement:
(1)獲取第一個(gè)子標(biāo)簽:Element element(標(biāo)簽名)
(2)獲取所有子標(biāo)簽:List elements(標(biāo)簽名)
(3)獲取屬性:Attribute attribute(屬性名)
(4)獲取標(biāo)簽的內(nèi)容:elementText()
(5)獲取屬性的值:attributeValue()
配置Dom4j的jar包
1.在項(xiàng)目根目錄下創(chuàng)建lib文件夾
2.將dom4j.jar拷貝到lib目錄下

3. 點(diǎn)擊Project Structure

4.再點(diǎn)擊Libraries,點(diǎn)擊“+”,添加Java

5.進(jìn)入Select Library Files界面,點(diǎn)擊lib文件夾

6.添加后,點(diǎn)擊左下角Apply,再點(diǎn)應(yīng)用,就完成了

讀取xml文件
(1)創(chuàng)建SAX解析器SAXReader對(duì)象,用于讀取xml文件
SAXReader saxReader = new SAXReader();
(2)讀取xml文件,得到Document對(duì)象:
Document document = saxReader.read("User.xml");
注:若read下有紅色波浪線,則直接alt+enter拋異常即可
(3) 通過(guò)Document對(duì)象獲取根元素
Element rootElement = document.getRootElement();
(4)通過(guò)父元素獲取子元素:
獲取迭代器:elementIterator(),迭代獲取。
指定元素名:element(元素名) 獲取指定元素名的第一個(gè)子元素
獲取指定元素: elements(元素名) List 指定元素名的所有的子元素
(5)通過(guò)元素獲取它的屬性:
獲取迭代器:attributeIterator(),迭代獲取。
指定索引(0開始)或名字:attribute(索引)、attribute(屬性名)
讀取User.xml文件
<?xml version="1.0" encoding="utf-8"?>
<users>
<user userId="1">
<username>admin</username>
<pwd>123</pwd>
</user>
<user userId="2">
<username>lisi</username>
<pwd>123</pwd>
</user>
</users>src.demo1文件:
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import java.util.List;
public class demo1 {
public static void main(String[] args) throws DocumentException {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("User.xml");
Element rootElement = document.getRootElement();
//打印根標(biāo)簽名字
System.out.println("標(biāo)簽名:"+rootElement.getName());
List<Element> userElements = rootElement.elements("user");
for(Element userEle:userElements){
//子標(biāo)簽
Element usernameEle = userEle.element("username");
//獲取文本
System.out.println("username:"+usernameEle.getText());
Element passwordEle = userEle.element("pwd");
System.out.println("password:"+passwordEle.getText());
//屬性
Attribute id = userEle.attribute("userId");
System.out.println("id屬性的值:"+id.getText());
}
}
}運(yùn)行結(jié)果:

總結(jié)
到此這篇關(guān)于Java使用dom4j解析xml、讀取xml文件的文章就介紹到這了,更多相關(guān)Jav dom4j解析讀取xml文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java教程之對(duì)象序列化使用基礎(chǔ)示例詳解
所謂對(duì)象序列化就是將對(duì)象的狀態(tài)轉(zhuǎn)換成字節(jié)流,以后可以通過(guò)這些值再生成相同狀態(tài)的對(duì)象,下面詳細(xì)介紹一下java對(duì)象的序列化使用方法2014-01-01
java 實(shí)現(xiàn)圖片圓角處理、背景透明化
這篇文章主要介紹了java 實(shí)現(xiàn)圖片圓角處理、背景透明化,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
java Swing JFrame框架類中setDefaultCloseOperation的參數(shù)含義與用法示例
這篇文章主要介紹了java Swing JFrame框架類中setDefaultCloseOperation的參數(shù)含義與用法,結(jié)合實(shí)例形式分析了Swing組件的JFrame框架類中setDefaultCloseOperation方法的簡(jiǎn)單使用技巧,需要的朋友可以參考下2017-11-11
深入理解Spring MVC的數(shù)據(jù)轉(zhuǎn)換
這篇文章主要給大家介紹了關(guān)于Spring MVC數(shù)據(jù)轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧。2017-09-09
java前后端加密解密crypto-js的實(shí)現(xiàn)
這篇文章主要介紹了java前后端加密解密crypto-js的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Maven項(xiàng)目中讀取src/main/resources目錄下的配置文件的方法
本篇文章主要介紹了Maven項(xiàng)目中讀取src/main/resources目錄下的配置文件的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
淺析Java中對(duì)稱與非對(duì)稱加密算法原理與使用
密碼學(xué)是研究編制密碼和破譯密碼的技術(shù)科學(xué)。這篇文章主要為大家介紹了Java中對(duì)稱與非對(duì)稱加密算法的原理與使用,感興趣的小伙伴可以了解一下2023-03-03

