1. 程式人生 > >XPATH語法

XPATH語法

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語法