Java獲取XML節(jié)點(diǎn)總結(jié)之讀取XML文檔節(jié)點(diǎn)的方法
dom4j是Java的XML API,用來讀寫XML文件的。目前有很多場景中使用dom4j來讀寫xml的。
要使用dom4j開發(fā),需要下載導(dǎo)入dom4j相應(yīng)的jar文件。
官網(wǎng)下載:http://www.dom4j.org/dom4j-1.6.1/
github下載:http://dom4j.github.io/
下載解壓之后如圖所示:
我們只需要把dom4j-1.6.1.jar文件構(gòu)建到我們開發(fā)項(xiàng)目中就可以了。
下面就以Eclipse創(chuàng)建java項(xiàng)目的構(gòu)建方法為例說明:
聲明:本Java項(xiàng)目的開發(fā)環(huán)境JDK1.8,Eclipse版本 Neon.1 Release (4.6.1)
首先創(chuàng)建一個(gè)demo項(xiàng)目:
在demo項(xiàng)目中創(chuàng)建一個(gè)lib文件,把dom4j-1.6.1.jar文件拷貝到lib中,然后右鍵dom4j-1.6.1jar文件。如圖所示:
點(diǎn)擊Add to Bulid Path即可構(gòu)建到項(xiàng)目中去了。
導(dǎo)入成功如圖所示:
在項(xiàng)目開發(fā)的過程中可以參考docs文件夾的(幫助文檔),找到index.html打開,點(diǎn)擊Quick start可以通過幫助文檔進(jìn)行學(xué)習(xí) dom4j進(jìn)行xml的解析。
如圖所示:
下面我將以詳細(xì)例子去介紹Java操作xml文件,文件名為exmple.java。
package vastsum; import java.io.File; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.SAXReader; /** * 讀取下xml文檔,獲得document對象。 * 本文為xml連載第一篇,以下代碼可以直接運(yùn)行,結(jié)尾附上源碼下載地址。 */ class exmple { public static void main(String[] args) throws DocumentException { SAXReader reader = new SAXReader(); Document document = reader.read(new File("./src/contact.xml")); /** * 節(jié)點(diǎn)對象的操作方法 */ //獲取文檔根節(jié)點(diǎn) Element root = document.getRootElement(); //輸出根標(biāo)簽的名字 System.out.println(root.getName()); //獲取根節(jié)點(diǎn)下面的所有子節(jié)點(diǎn)(不包過子節(jié)點(diǎn)的子節(jié)點(diǎn)) List<Element> list = root.elements() ; //遍歷List的方法 for (Element e:list){ System.out.println(e.getName()); } //獲得指定節(jié)點(diǎn)下面的子節(jié)點(diǎn) Element contactElem = root.element("contact");//首先要知道自己要操作的節(jié)點(diǎn)。 List<Element> contactList = contactElem.elements(); for (Element e:contactList){ System.out.println(e.getName()); } //調(diào)用下面獲取子節(jié)點(diǎn)的遞歸函數(shù)。 getChildNodes(root); //獲得當(dāng)前標(biāo)簽下指定名稱的第一個(gè)子標(biāo)簽 Element conElem = root.element("contact"); System.out.println(conElem.getName()); //獲得更深層次的標(biāo)簽(一層一層的獲?。? Element nameElem = root.element("contact").element("name"); System.out.println(nameElem.getName()); } //遞歸查詢節(jié)點(diǎn)函數(shù),輸出節(jié)點(diǎn)名稱 private static void getChildNodes(Element elem){ System.out.println(elem.getName()); Iterator<Node> it= elem.nodeIterator(); while (it.hasNext()){ Node node = it.next(); if (node instanceof Element){ Element e1 = (Element)node; getChildNodes(e1); } } } }
下面是對應(yīng)的xml文件,文件名為contact.xml:
<?xml version="1.0" encoding="utf-8"?> <contactList> <contact id="001" class="style"> <name>張三</name> <age>20</age> <phone>134222223333</phone> <email>zhangsan@qq.com</email> <qq>432221111</qq> </contact> <contact id="002"> <name>李四</name> <age>20</age> <phone>134222225555</phone> <email>lisi@qq.com</email> <qq>432222222</qq> </contact> <contactTwo> <name>王五</name> <age>32</age> <phone>465431341</phone> <emali>af@qq.com</emali> <qq>46164694</qq> </contactTwo> <test>測試</test> <test>其他用途</test> </contactList>
兩個(gè)文件的目錄如題所示:
以上就是小編為大家?guī)淼腏ava獲取XML節(jié)點(diǎn)總結(jié)之讀取XML文檔節(jié)點(diǎn)的方法全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
SpringBoot Security實(shí)現(xiàn)單點(diǎn)登出并清除所有token
Spring Security是一個(gè)功能強(qiáng)大且高度可定制的身份驗(yàn)證和訪問控制框架。提供了完善的認(rèn)證機(jī)制和方法級的授權(quán)功能。是一款非常優(yōu)秀的權(quán)限管理框架。它的核心是一組過濾器鏈,不同的功能經(jīng)由不同的過濾器2023-01-01springboot+springsecurity+mybatis+JWT+Redis?實(shí)現(xiàn)前后端離實(shí)戰(zhàn)教程
這篇文章主要介紹了springboot+springsecurity+mybatis+JWT+Redis?實(shí)現(xiàn)前后端離實(shí)戰(zhàn)教程,需要的朋友可以參考下2024-01-01創(chuàng)建網(wǎng)關(guān)項(xiàng)目(Spring Cloud Gateway)過程詳解
這篇文章主要介紹了創(chuàng)建網(wǎng)關(guān)項(xiàng)目(Spring Cloud Gateway)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09java中的Integer的toBinaryString()方法實(shí)例
這篇文章主要介紹了java中的Integer的toBinaryString()方法實(shí)例,有需要的朋友可以參考一下2013-12-12