如何使用XPath提取xml文档数据
本文实例为大家分享了XPath提取xml文档数据具体代码,供大家参考,具体内容如下
importjava.util.List;
importorg.dom4j.Document;
importorg.dom4j.Node;
importorg.dom4j.io.SAXReader;
importorg.junit.Test;
/*
*使用XPath查找xml文档数据
*
*/
publicclassDemoXPath{
@Test
//输出book.xml中所有price元素节点的文本值
publicvoidtest1()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
ListselectNodes=document.selectNodes("//price");
for(Nodenode:selectNodes){
Stringtext=node.getText();
System.out.println(text);
}
}
@Test
//输出book.xml中第二本书的price元素节点的文本值
publicvoidtest2()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
NodeselectSingleNode=document.selectSingleNode("/bookshelf/book[2]/price");
Stringtext=selectSingleNode.getText();
System.out.println(text);
}
@Test
//输出book.xml中第二本书和第三本书的author元素节点的文本值
publicvoidtest3()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
ListselectSingleNode=document.selectNodes("/bookshelf/book[position()>1]/author");
for(Nodenode:selectSingleNode){
Stringtext=node.getText();
System.out.println(text);
}
}
@Test
//输出book.xml中含有属性id的所有name的文本值
publicvoidtest4()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
ListselectSingleNode=document.selectNodes("//name[@id]");
for(Nodenode:selectSingleNode){
Stringtext=node.getText();
System.out.println(text);
}
}
@Test
//输出book.xml中含有属性id="1111"的name的文本值
publicvoidtest5()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
NodeselectSingleNode=document.selectSingleNode("//name[@id=\"1111\"]");
Stringtext=selectSingleNode.getText();
System.out.println(text);
}
@Test
//输出book.xml中含有属性id="1112"的book的author的文本值
publicvoidtest6()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
NodeselectSingleNode=document.selectSingleNode("//book[name[@id=\"1112\"]]/author");
Stringtext=selectSingleNode.getText();
System.out.println(text);
}
@Test
//输出book.xml中第一本book的id的属性值
publicvoidtest7()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
NodeselectSingleNode=document.selectSingleNode("//book[1]/name");
Stringtext=selectSingleNode.valueOf("attribute::id");//获取id属性
System.out.println(text);
}
@Test
//输出book.xml中book的name的id的属性值为1112的对应的sn的属性值
publicvoidtest8()throwsException{
SAXReaderreader=newSAXReader();
Documentdocument=reader.read("src/main/java/book.xml");
ListselectNodes=document.selectNodes("//book/name");
for(Nodenode:selectNodes){
if(node.valueOf("attribute::id").equals("1112")){
System.out.println(node.valueOf("attribute::sn"));
}
}
}
}
junit junit 4.11 log4j log4j 1.2.17 dom4j dom4j jaxen jaxen 1.1.6
Tomorrow Hiskell $40 GoodbyetoYou Giddle $25 SeaandOld Heminw $28
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 歌词朋友结婚祝福语简短
11 晚辈读大学祝福语简短
12 作品棒棒哒祝福语简短
13 下雪拜年祝福语简短英语
14 室友生宝宝祝福语简短
15 订婚收到礼物祝福语简短
16 庆祝结婚蛋糕祝福语简短
17 家庭新春聚餐祝福语简短
18 朋友布置新房祝福语简短