pom.xml依赖
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.6</version>
</dependency>
测试xml
<?xml version="1.0" encoding="UTF-8"?>
<书架>
<书>
<书名 name="张三">书名1</书名>
<作者>作者1</作者>
<售价>121</售价>
</书>
<书>
<书名>书名2</书名>
<作者>作者2</作者>
<售价>122</售价>
</书>
</书架>
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user id="1" username="aaa" password="111" email="[email protected]"></user>
<user id="2" username="bbb" password="222" email="[email protected]"></user>
</users>
测试demo
package com.tls.dom4j;
import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.junit.Test;
//xpath
public class Demo2 {
@Test
public void test1() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/main/java/book.xml"));
Node node = document.selectSingleNode("//作者");
String text = node.getText();
System.out.println(text);
}
//查找users.xml中是否有和用户名密码相匹配的用户
@Test
public void test2() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/main/java/users.xml"));
String username="aaa";
String password="111";
List nodes = document.selectNodes("//user[@username='"+username+"' and @password='"+password+"']");//这里使用and
System.out.println(nodes.size());
}
}
具体语法可以查看xpath的文档