1. 程式人生 > >9-格式化檔案儲存-XPath

9-格式化檔案儲存-XPath

XPath

  • 在XML檔案中查詢資訊的一套規則/語言,根據XML的元素或者屬性進行遍歷
  • http://www.w3school.com.cn/xpath/index.asp

XPath 開發工具

  • 開源的XPath表示式編輯工具:XMLQuire
  • Chrome外掛:XPath Helper
  • Firefox外掛: XPath Checker

選取節點

  • nodename: 選取此節點的所有子節點
  • /: 從根節點開始選取

      /Student:沒有結果
      /School:選區School節點
  • //: 選取節點,不考慮位置

      //age: 選取出三個節點,一般組成列表返回
  • .: 選取當前接待你
  • ..:選取當前節點的父親節點
  • @:選取屬性
  • xpath中查詢一般按照路徑方法查詢,一下是路徑表示方法

      School/Teacher:返回Teacher節點
      School/Student: 返回兩個Student節點
      //Student:  選取所有Studetn的節點,不考慮位置
      School//Age:選取School後代中所有Age節點
      //@Other: 選取Other屬性
      //Age[@Detail]:  選取帶有屬性Detail的Age元素

謂語-Predicates

  • /School/Student[1]: 選取School下面的第一個Student節點
  • /School/Student[last()]: 選取School下面的最後一個Student節點
  • /School/Student[last()-1]: 選取School下面的倒數第二個Student節點
  • /School/Student[position()<3]: 選取School下面的前二個Student節點
  • //Student[@score]: 選取帶有屬性score的Student節點
  • //Student[@score="99"]: 選取帶有屬性score並且屬性值是99的Student節點
  • //Student[@score]/Age: 選取帶有屬性score的Student節點的子節點Age

XPath的一些操作

  • |: 或者

      //Student[@score] | //Teacher: 選取帶有屬性score的Student節點和Teahcer節點
  • 其餘不常見XPath運算子號包括+, - , *, div, >, <