XPath(XML Path Language) 是一门在XML和HTML文档中查找信息的语言,能够用来在XML和HTML文档中对元素和属性进行遍历node
XPath使用路径表达式来选取XML文档中的节点或者节点集,这些路径表达式和咱们在常规的电脑文件系统中看到的表达式很是类似web
表达式 | 描述 | 示例 | 结果 |
---|---|---|---|
nodename | 选取此节点的全部子节点 | bookstore |
选取bookstore下全部的子节点 |
/ | 若是是在最前面,表明从根节点选取,不然选择某节点下的某个节点 | /bookstore |
选取根元素下全部的bookstore节点 |
// | 从全局节点中选择节点,随意在哪一个位置 | //book |
从全局节点中找到全部的book节点 |
@ | 选取某个节点的属性 | //book[@price] |
选择全部拥有price属性的book节点 |
. | 当前节点 | ./a |
选取当前节点下的a标签 |
谓语用来查找某个特定的节点或者包含某个指定的值的及诶按,被嵌在括号中使用chrome
路径表达式 | 描述 |
---|---|
//bookstore/book[1] |
选取bookstore下的第一个book子元素 |
//bookstore/book[last()] |
选取bookstore下最后一个book子元素 |
//bookstore/book[position()<3] |
选取bookstore下前面两个book子元素 |
//book[@price] |
选取拥有price属性的book元素 |
//book[@price=10] |
选取拥有price属性而且等于10的book元素 |
在XPath中用 *
来表示通配符工具
通配符 | 描述 | 示例 | 结果 |
---|---|---|---|
* |
匹配任意节点 | /bookstore/* |
选取bookstore下的全部子元素 |
@* |
匹配节点中的任意属性 | //book[@*] |
选取全部带属性的book元素 |
经过在路径表达式中使用 |
运算符,能够选取若干个路径,好比选取全部book元素已经book元素下全部的title元素 //bookstore/book | //book/title
google