Java使用dom4j解析xml、讀取xml文件圖文教程
技能分析:解析XML
使用DOM4J解析XML文檔的步驟:
Dom4j 是一個(gè)開源的 XML 解析框架,它基于 Java 的 sax 解析器和 jaxp 解析器開發(fā),提供了靈活簡便、性能優(yōu)良、擴(kuò)展性強(qiáng)的 XML 解析和生成功能。
Dom4J通過SAXReader對象加載并解析xml文件,把它轉(zhuǎn)換為內(nèi)存中的Document對象,接著對Document對象中的元素進(jìn)行添加、更新和刪除操作,并且通過XMLWriter對象把修改后的Document對象保存到xml文件中。
幫助手冊:Overview (dom4j 1.6.1 API)
Dom4j核心對象
1.SAXReader:xml解析器
(1)創(chuàng)建SASXReader對象,無參構(gòu)造方法
(2)調(diào)用read(xml文件資源),讀取并解析xml,得到Document對象
2.Document:xml文檔
調(diào)用ELement getRootELement() 得到 根標(biāo)簽對象
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對象,用于讀取xml文件
SAXReader saxReader = new SAXReader();
(2)讀取xml文件,得到Document對象:
Document document = saxReader.read("User.xml");
注:若read下有紅色波浪線,則直接alt+enter拋異常即可
(3) 通過Document對象獲取根元素
Element rootElement = document.getRootElement();
(4)通過父元素獲取子元素:
獲取迭代器:elementIterator(),迭代獲取。
指定元素名:element(元素名) 獲取指定元素名的第一個(gè)子元素
獲取指定元素: elements(元素名) List 指定元素名的所有的子元素
(5)通過元素獲取它的屬性:
獲取迭代器: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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java 實(shí)現(xiàn)圖片圓角處理、背景透明化
這篇文章主要介紹了java 實(shí)現(xiàn)圖片圓角處理、背景透明化,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11java Swing JFrame框架類中setDefaultCloseOperation的參數(shù)含義與用法示例
這篇文章主要介紹了java Swing JFrame框架類中setDefaultCloseOperation的參數(shù)含義與用法,結(jié)合實(shí)例形式分析了Swing組件的JFrame框架類中setDefaultCloseOperation方法的簡單使用技巧,需要的朋友可以參考下2017-11-11深入理解Spring MVC的數(shù)據(jù)轉(zhuǎn)換
這篇文章主要給大家介紹了關(guān)于Spring MVC數(shù)據(jù)轉(zhuǎn)換的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧。2017-09-09java前后端加密解密crypto-js的實(shí)現(xiàn)
這篇文章主要介紹了java前后端加密解密crypto-js的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Maven項(xiàng)目中讀取src/main/resources目錄下的配置文件的方法
本篇文章主要介紹了Maven項(xiàng)目中讀取src/main/resources目錄下的配置文件的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-12-12