浅谈Xpath

1.Xpath简介

Xpath即XML Path Language, XPath是一门在XML文档中查找信息的语言。利用XPath可以对XML文档进行元素和属性的遍历。

2.包的导入

(1)导入dom4j.jar包,并build path

(2)导入dom4j/lib 中的 jaxen.jar包,并build path

3.常用语法

/  开始,表示到一个元素的绝对路径(必须从根元素开始)
// 开始,表示选择文档中所有满足双斜线后规则的元素(无论层级关系)
[
 ] 里的表达式可以进一步的指定元素
@  指定属性
|  多个路径之间使用

4.Demo

下面的代码直接读取了price元素(car.xml)

//使用xpath技术取得xml文件中任意级别下的内容

		SAXReader reader = new SAXReader();
		Document document = reader.read(new File("src/web/java/xml/xpath/car.xml"));
		String xpath = "//price";
		Element element = (Element) document.selectSingleNode(xpath);
		System.out.println("第一辆汽车的单价为:" + element.getText());

 

4.Demo2

使用Xpath,模拟用户登录

有如下user.xml文档,解析其中的用户数据,在控制台模拟登录过程

<?xml version="1.0" encoding="UTF-8"?>
<root>
	<user id="u01" username="well" pwd="1234" />
	<user id="u02" username="admin" pwd="1234" />
</root>

 

编写测试代码如下:

package web.java.xml.xpath;

import java.io.File;
import java.util.Scanner;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;


public class Demo2 {
	public static void main(String[] args) throws Exception {
		//利用扫描流读取用户输入的数据
		Scanner scanner = new Scanner(System.in);
		System.out.print("用户名:");
		String username = scanner.nextLine();
		System.out.print("密码:");
		String pwd = scanner.nextLine();
		
		//解析XML文件,并查询指定的元素
		File file = new File("src/web/java/xml/xpath/user.xml");
		SAXReader saxReader = new SAXReader();
		Document doc = saxReader.read(file);
		String xpath="//user[@username='"+username+"' and @pwd='"+pwd+"']";
		Element element = (Element) doc.selectSingleNode(xpath);
		
		if(element != null){
			System.out.println("Login Success!");
		}else{
			System.out.println("Login Failed!");
		}
	}
}



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值