您好,登錄后才能下訂單哦!
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.junit.Test;
/**
* 解析xml
* @author WangShuang
*
*/
public class Demo {
/**
* 獲取xml標簽的文本內(nèi)容和屬性值
* @param args
*/
@Test
public void run1() {
try {
//1.創(chuàng)建解析器對象
SAXReader sax = new SAXReader();
//2.解析xml文檔
Document document = sax.read("src/test.xml");
//3.獲得跟節(jié)點
Element root = document.getRootElement();
//4獲取學(xué)生節(jié)點
Element student = root.element("student");
//5獲取學(xué)生姓名節(jié)點
Element name = student.element("name");
System.out.println(name.getText());
//獲取學(xué)生屬性編號的值
Attribute attribute = name.attribute("id");
System.out.println(attribute.getValue());
} catch (DocumentException e) {
e.printStackTrace();
}
}
/**
* xpath獲取xml標簽的文本內(nèi)容和屬性值
* @param args
*/
@Test
public void run2() {
try {
// 1. 先創(chuàng)建解析器對象
SAXReader sax = new SAXReader();
//2 .解析xml文檔
Document document = sax.read("src/test.xml");
// document是Node的子節(jié)點,能使用node節(jié)點對象的方法
Node node = document.selectSingleNode("http://name");
// 獲取學(xué)生姓名
System.out.println(node.getText());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* xpath獲取xml標簽的文本內(nèi)容和屬性值
* @param args
*/
@Test
public void run3() {
try {
SAXReader sax = new SAXReader();
Document document = sax.read("src/test.xml");
List<Node> selectNodes = document.selectNodes("http://name");
for (Node node : selectNodes) {
System.out.println(node.getText());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
需要導(dǎo)入的jar包
<?xml version="1.0" encoding="UTF-8"?>
<Person>
<student>
<name id="01">張三</name>
<sex>男</sex>
</student>
<!-- <student>
<name id="01">lili</name>
<sex>nv</sex>
</student> -->
</Person>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。