步骤
1 导入dom4j jar包,用Xpath的话吧jaxen包也导入
2 dom4j具体写法
xml文件里的内容
<?xml version="1.0" encoding="utf-8" ?>
<stus>
<stu>
<name>刘德华</name>
<age>666</age>
</stu>
<stu>
<name>刘青云</name>
<age>888</age>
</stu>
</stus>
解析步骤
try {
SAXReader sax=new SAXReader();
//读取src下面的stus.xml文件
Document doc=sax.read(new File("src/suts.xml"));
//拿到根节点
Element root=doc.getRootElement();
//根据根节点拿到子节点的集合
List<Element> roots=root.elements();
//遍历
for (Element element : roots) {
System.out.println(element.element("name").getText());
System.out.println(element.element("age").getText());
}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
最后显示的结果是
3 Xpath用法
//要想使用Xpath, 还得添加支持的jar 获取的是第一个 只返回一个。
Element nameElement = (Element) rootElement.selectSingleNode("//name");
System.out.println(nameElement.getText());
System.out.println("----------------");
//获取文档里面的所有name元素
List<Element> list = rootElement.selectNodes("//name");
for (Element element : list) {
System.out.println(element.getText());
}