00 05Java Web开发之XPATH

1 XPATH简介

1、可以直接获取到某个元素
2、第一种书写形式:/AAA/DDD/BBB:表示一层一层的,AAA下面的DDD下面的BBB
3、第二种书写形式://BBB(选择所有的BBB元素)、/DDD//BBB(选择所有父元素为DDD的BBB元素)
4、第三书写形式:/AAA/BBB/DDD*(选择所有路径依附于/AAA/BBB/DDD的元素)、/*/*/*/BBB(选择所有的有3个祖先元素的BBB元素)、//*(选择所有元素)。
5、第四种书写形式:/AAA/BBB[1](选择AAA元素下的第一个BBB元素)、/AAA/BBB[last()](选择AAA元素下的最后一个BBB元素)
6、第五种书写形式://@id(选择所有的id属性)、//BBB[@id](选择有id属性的BBB元素)
7、第六种书写形式://BBB[@id="b1"](选择属性为id,值为b1的BBB元素)

2 使用dom4j支持XPATH操作

默认情况下,dom4j不支持xpath,如果想要在dom4j里面使用xpath,步骤如下:
(1)引入支持xpath的jar包:jaxen-1.2.0。
(2)将jar包导入项目。

在dom4j里面改提供了两个方法,用来支持xpath
|——selectNodes(“xpath expression”),获取多个节点
|——selectSingleNode(“xpath expression”),获取单一节点

查询xml中name元素的值。
|——//name,所有name元素的xpath表示。
(1)得到document
(2)直接使用xpath得到所有name元素

public static void getName() {
		Document document = getDocument();
		List<Node> list = document.selectNodes("//name");
		for(Node node : list) {
			System.out.println(node.getText());
		}
	}

3 使用dom4j支持XPATH的操作

获取第一个p1下面name的值。

public static void getName() {
		Document document = getDocument();
		Node name1 = document.selectSingleNode("//p1[@id1='love']/name");
		System.out.println(name1.getText());
	}
发布了77 篇原创文章 · 获赞 11 · 访问量 2628

猜你喜欢

转载自blog.csdn.net/weixin_43762330/article/details/104533585