xpath使用

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="aaa@qq.com"></user>
	<user id="2" username="bbb" password="222" email="aaa@qq.com"></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的文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值