1.xml解析方式:
DOM解析原理:xml解析器將xml文件加載到內(nèi)存象对,然后構(gòu)建出一個Document的樹狀圖罚舱,通過Document對象獲得樹上的節(jié)點對象袍啡,通過對節(jié)點的訪問獲得xml文檔的內(nèi)容匾灶。
1)JAXP 工具(oracle-sun公司官方)
2)JDOM工具(非官方)
3)Dom4J工具(非官方)--三大框架(默認讀取的工具就是Dom4j)
Dom4J工具:
導入dom4j的核心包【下載地址 密碼:9rh1】
SAX解析:
Sax 解析工具(oracle-sun公司官方)
2.搭建環(huán)境及演示:
新建Java項目
創(chuàng)建xml文件
寫入內(nèi)容
XML文件內(nèi)容:
<?xml version="1.0" encoding="UTF-8"?>
<contactList>
<contact id="1">
<name>某某</name>
<age>20</age>
<phone>15426354785</phone>
<qq>1024557455</qq>
</contact>
<contact id="2">
<name>張三</name>
<age>44</age>
<phone>17854213658</phone>
<qq>1024532584</qq>
</contact>
</contactList>
新建lib文件夾將dom4j-1.6.1.jar包導入
添加到構(gòu)建路徑
出現(xiàn)奶瓶標志表示導入成功
新建Java類
one.java代碼如下:
package com.one;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.junit.Test;
public class damo {
@Test
public void texs() throws Exception{
//創(chuàng)建一個xml解析對象
SAXReader reader = new SAXReader();
//讀取xml文檔,返回Document對象
Document dor= reader.read(new File("./src/one.xml"));
//獲取根節(jié)點
Element ele = dor.getRootElement();
//調(diào)用方法
getChildNode(ele);
}
private void getChildNode(Element elem){
System.out.println(elem.getName());
Iterator <Node> it= elem.nodeIterator();
while(it.hasNext()){
Node node = it.next();
if(node instanceof Element){
Element el = (Element)node;
//遞歸方法
getChildNode(el);
}
}
}
}
JUnit4方法
添加成功
獲取到標簽節(jié)點名稱