利用Dom4j+xpath读取XML文档
2014-05-10 15:29
417 查看
使用Dom4j 首先应该在工程包添加一个Jar包文件:dom4j-1.6.1.jar
然后创建XML读取器对象加载DOM树模型,具体代码如下:
//1.创建XML读取器对象
SAXReader reader = new SAXReader();
//2.从类路径下面加载xml文件
InputStream in = XpathTest.class.getResourceAsStream("/cn/mytest/xpath/persom.xml");
// 3.读取xml文档,构建成Dom模型
Document document = reader.read(in);
二.使用Xpath读取Dom树中的元素,这时需要在Java工程包中添加应外一个Jar包文件:jaxen-1.1-beta-6.jar ,这个文件在dom4j的lib目录下.
否则会出现NoClassDefFoundError. 具体代码如下:
//4.用xpath的方式去查找节点,返回节点列表,selectNodes()方法中的参数为
List <Node> nodeslist = document.selectNodes("//person[@id='003']"); for (Node n : nodeslist)
{ System.out.println(n); }
//5.如果确定XML文档中只有一个节点的时候,就用selectSingleNode();
Node node= document.selectSingleNode("//person[@id='003']"); System.out.println(node);
三.具体案例
<?xmlversion="1.0"encoding="utf-8"?>
<学生列表>
<学生学号="001">
<姓名>郭靖</姓名>
<密码>123</密码>
<性别>男</性别>
<年龄>30</年龄>
<师傅>江南七怪</师傅>
</学生>
<学生学号="002">
<姓名帮派="丐帮">黄蓉</姓名>
<密码>456</密码>
<性别>女</性别>
<年龄>20</年龄>
</学生>
</学生列表>
1)查找所有学生的姓名
@Test
publicvoid test1()throws
Exception{
SAXReader reader =
new SAXReader();
Document doc = reader.read("src/student.xml");
List<Element> eList =
doc.selectNodes("/学生列表/学生/姓名");
for(Element e:eList){
System.out.println(e.getText());
}
}
2)查找姓名为“郭靖”、密码为“123”的学生
@Test
publicvoid test2()throws
Exception{
SAXReader reader =
new SAXReader();
Document doc = reader.read("src/student.xml");
Element student = (Element)doc.selectSingleNode("/学生列表/<
af43
span style="color:#2A00FF;background:#FFFF00;">学生[姓名='郭靖'
and 密码='123']");
if(student!=null){
System.out.println("登陆成功");
}else{
System.out.println("姓名或密码错误");
}
}
相关文章推荐
- 利用代码读取XML文档
- C# winform 利用 XmlDocument 读取xml文档的多种方法
- 利用代码读取XML文档
- 利用代码读取XML文档
- 利用代码读取XML文档
- Java 利用DOM读取XML文档的例子
- 利用缓存机制快速读取XML文件数据
- 数据库操作类与Xml文档操作(保存/读取Connectionstring)
- 利用XSL和ASP在线编辑XML文档
- 一款简单jquery ajax读取xml文档实现代码
- C#读取XML文档
- Java读取excel文件生成xml文档和JSON文档
- android学生管理系统,利用linerLayout,实现xml的读取和写入,以及按钮的事件处理
- 利用Java 创建和读取Excel文档
- 如何利用Xerces C++解析包含中文字符的XML文档
- js读取xml文档,并实现简单分页
- 利用dom4j 解析xml 文档并将数据存入数据库
- asp.net中XML文档的写入和读取,以及转化数据集相关实例
- 解决VS更新/增加服务引用出现“XML 文档中有错误。 读取 XML 数据时,超出最大名称表字符计数配额 (16384)”
- java中利用dom4j对XML文档的创建、解析、查找、修改、保存等操作。