xpath 简介
- xpath 使用路径表达式在xml和html中进行导航
- xpath 包含标准函数库
- xpath 是一个w3c标准,使用广泛
xpath 节点关系
<html>
<head>
<meta charset="utf-8" />
<meta name="keywords" />
<title>xpath 节点关系</title>
</head>
<body>
<h1>顺则凡 逆则仙</h1>
</body>
</html>
父节点
head 是 meta的父节点子节点
meta 则是head的子节点同胞节点
head 下 2个meta 以及title 这三个是同胞节点先辈节点
title 往上找,head ,以及html都是 title的先辈节点(先辈节点是多个,父节点是最近一个)后代节点
title 属于head,html的后代节点
xpath 语法
表达式 | 说明 |
---|---|
article | 选取所有article元素的所有子节点 |
/article | 选取根元素article |
article/a | 选取所有属于article的子元素 a元素 |
//div | 选取所有div子元素(无论出现在文档任何地方) |
article//div | 选取所有属于aritcle元素的后代的div元素,不管他出现在article之下的任何位置 |
//@class | 选取所有名为class的属性,的元素 |
表达式 | 说明 |
---|---|
/article/div[1] | 选取属于article子元素的第一个div元素 |
/article/div[last()] | 选取属于article子元素的最后一个div元素 |
/article/div[last()-1] | 选取属于article子元素的倒数第二个div元素 |
//div[@lang] | 选取具有lang属性的div |
//div[@lang=’ZW’] | 选取lang属性为ZW的div |
//@class | 选取所有名为class的属性,的元素 |
表达式 | 说明 |
---|---|
/div/* | 选取属于div元素的所有子节点 |
//* | 选取所有元素 |
//div[@*] | 选取带有属性的div元素 |
/div/a | /div/p | 选取所有的div元素的a和p元素 |
//span | //ul] | 选取文档中所有的span 和 ul元素 |
article/div/p | //spans | 选取所有属于article下的div元素下的p元素,以及文档中所有的span元素 |