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