XPATH語法
阿新 • • 發佈:2018-10-04
str posit attribute bst 位置 結束 使用 以及 osi
前言
本文大致可以知道/,//,@,[]的用法,還有一些函數的用法
正文
假設有一個根元素school,一個子元素student,一個屬性name和一個子元素age,一個子元素class
語法
- school —— 選取school元素的所有節點
- /school —— 選取根元素school
- //student —— 選取所有student元素,不管在哪一個位置
- school/student —— 選取school的子元素student
- school//student —— 選取school元素下的任意student元素
//@name —— 選取所有name屬性
- school/student[1] —— 選取school的第一個student子元素
- school/student[last()] —— 選取school的最後一個student子元素
- school/student[last()-1] —— 選取school的倒數第二個student子元素
- school/student[position()<3] —— 選取school的最前面兩個student子元素
- //student@[name] —— 選取所有擁有name屬性的student元素
- //student@[name=‘hf‘] —— 選取所有擁有name屬性且值為hf的student元素
- /school/student[age>15] —— 選取school元素的所有含有age子元素且age子元素的值大於15的student元素
/school/student[age>15]/class —— 滿足上一個條件的class元素
通配符
- —— 匹配任何元素節點
- @* —— 匹配任何屬性節點
node() —— 匹配任何類型的節點
- /school/* —— 選取school元素的所有子節點
- //* —— 選取文檔中的所有元素
//student[@*] —— 選取所有帶有屬性的student元素
軸
使用方式軸名::元素或方法
- ancestor —— 選取當前節點的所有先輩(父、祖父等)。
- ancestor-or-self —— 選取當前節點的所有先輩(父、祖父等)以及當前節點本身。
- attribute —— 選取當前節點的所有屬性。
- child —— 選取當前節點的所有子元素。
- descendant —— 選取當前節點的所有後代元素(子、孫等)。
- descendant-or-self —— 選取當前節點的所有後代元素(子、孫等)以及當前節點本身。
- following —— 選取文檔中當前節點的結束標簽之後的所有節點。
- namespace —— 選取當前節點的所有命名空間節點。
- parent —— 選取當前節點的父節點。
- preceding —— 選取文檔中當前節點的開始標簽之前的所有節點。
- preceding-sibling —— 選取當前節點之前的所有同級節點。
- self —— 選取當前節點。
函數
- text() —— 返回該元素的文本
- substring()
- position() —— 返回當前正在被處理的節點的 index 位置。
例子:
//book[position()<=3] 選擇前三個 book 元素
- last() —— 返回最後一個
- name() —— 返回當前節點的名稱或指定節點集的第一個節點
- count() —— 返回節點的數量
參考鏈接
http://www.w3school.com.cn/xpath/index.asp
XPATH語法