Java獲得XML節點總結之讀取XML文檔節點的辦法。本站提示廣大學習愛好者:(Java獲得XML節點總結之讀取XML文檔節點的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Java獲得XML節點總結之讀取XML文檔節點的辦法正文
dom4j是Java的XML API,用來讀寫XML文件的。今朝有許多場景中應用dom4j來讀寫xml的。
要應用dom4j開辟,須要下載導入dom4j響應的jar文件。
官網下載:http://www.dom4j.org/dom4j-1.6.1/
github下載:http://dom4j.github.io/
下載解壓以後如圖所示:
我們只須要把dom4j-1.6.1.jar文件構建到我們開辟項目中便可以了。
上面就以Eclipse創立java項目標構建辦法為例解釋:
聲明:本Java項目標開辟情況JDK1.8,Eclipse版本 Neon.1 Release (4.6.1)
起首創立一個demo項目:
在demo項目中創立一個lib文件,把dom4j-1.6.1.jar文件拷貝到lib中,然後右鍵dom4j-1.6.1jar文件。如圖所示:
點擊Add to Bulid Path便可構建到項目中去了。
導入勝利如圖所示:
在項目開辟的進程中可以參考docs文件夾的(贊助文檔),找到index.html翻開,點擊Quick start可以經由過程贊助文檔停止進修 dom4j停止xml的解析。
如圖所示:
上面我將以具體例子去引見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連載第一篇,以下代碼可以直接運轉,開頭附上源碼下載地址。
*/
class exmple {
public static void main(String[] args) throws DocumentException
{
SAXReader reader = new SAXReader();
Document document = reader.read(new File("./src/contact.xml"));
/**
* 節點對象的操作辦法
*/
//獲得文檔根節點
Element root = document.getRootElement();
//輸入根標簽的名字
System.out.println(root.getName());
//獲得根節點上面的一切子節點(不包過子節點的子節點)
List<Element> list = root.elements() ;
//遍歷List的辦法
for (Element e:list){
System.out.println(e.getName());
}
//取得指定節點上面的子節點
Element contactElem = root.element("contact");//起首要曉得本身要操作的節點。
List<Element> contactList = contactElem.elements();
for (Element e:contactList){
System.out.println(e.getName());
}
//挪用上面獲得子節點的遞歸函數。
getChildNodes(root);
//取得以後標簽下指命名稱的第一個子標簽
Element conElem = root.element("contact");
System.out.println(conElem.getName());
//取得更深條理的標簽(一層一層的獲得)
Element nameElem = root.element("contact").element("name");
System.out.println(nameElem.getName());
}
//遞歸查詢節點函數,輸入節點稱號
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);
}
}
}
}
上面是對應的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>
兩個文件的目次如題所示:
以上就是小編為年夜家帶來的Java獲得XML節點總結之讀取XML文檔節點的辦法全體內容了,願望年夜家多多支撐~