xpath
一、简介
在XML文档中找信息,对HTML同样适用
二、关系
1)父节点
每一个元素都有一个节点,user元素是name,sex元素的父节点
<user>
<name>nihao</name>
<sex>1</sex>
</user>
2)子节点
name,sex元素都是user元素的子节点
<user>
<name>nihao</name>
<sex>1</sex>
</user>
3)同胞节点
name,sex拥有相同的父节点
<user>
<name>nihao</name>
<sex>1</sex>
</user>
4)先辈节点
某节点的父节点
<user>
<name>nihao</name>
<sex>1</sex>
</user>
4)后埭节点
某节点的子节点,子节点的子节点
<user>
<name>nihao</name>
<sex>1</sex>
</user>
三、语法
1)使用路径表达式
2)表达式
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点 |
/ | 如果在最前面,代表从根节点选取,否则选择某节点下的某节点 |
// | 从全局节点中选择节点,随便那个位置 |
@ | 选取某个节点的属性 |
* | 匹配任意节点 |
@* | 匹配节点中的任何属性 |
四、使用方式
1)简介
使用//获取整个页面当中的元素,然后写标签名,然后写谓词进行提取:
//title[@lang='en']
需要注意:
1)/和//的区别:/ 代表只获取子节点,//获取子孙节点,一般//用的比较多,当然也要视情况而定
2)contains; 有时候某个属性中包含多个值,怎么可以使用contains函数
//title[contains(@lang,'en')]
3)谓词中下标是从1开始