XPath語法簡介
阿新 • • 發佈:2018-04-10
語法 匹配 表達式 描述 命名 dex 屬性節點 iso IT
選擇屬於 bookstore 元素的後代的所有 book 元素,而不管它們位於 bookstore 之下的什麽位置。|
|. | 選取當前節點 |
|.. | 選取當前節點的父節點 |
|@ | 選取屬性 |
此外,還可以通過謂語(Predicates)進行更為精準的選擇,謂語寫在
還可以用
XPath是一種在xml中查找信息的語言,具體可參考W3school XPath教程
XPath是以路徑表達式來選擇XML文檔中的節點或節點集
===
XPath節點(Node)
在 XPath 中,XML 文檔是被作為節點樹來對待的,有七種類型的節點:元素、屬性、文本、命名空間、處理指令、註釋以及文檔(根)節點。
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore> (文檔節點/根節點)
<book> (元素節點)
<title lang="en">Harry Potter</title> (元素節點,lang為屬性節點,Harry Potter為文本節點)
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
節點關系
父(Parent),子(Children),同胞(sibling),先輩(Ancestor),後代(Descendant)
XPath語法
通過路徑表達式來選取節點,語法如下表:
| 表達式 | 描述 | 案例 |
|------------- | -------------| --------------------|
|nodename | nodename節點下的所有子節點 | bookstore
選取bookstore的所有子節點 bookstore/book
選取bookstore下的所有book節點
|/ | 從根節點選取 | /bookstore
選取根元素 bookstore。 假如路徑起始於正斜杠( / ),則此路徑始終代表到某元素的絕對路徑!|
|// | 從匹配選擇的當前節點選擇文檔中同樣的節點,而不考慮它們的位置 | bookstore//book
|. | 選取當前節點 |
.book
選擇當前book節點||.. | 選取當前節點的父節點 |
..book
選取book的父節點bookstore||@ | 選取屬性 |
//@lang
選取名為lang的所有屬性|此外,還可以通過謂語(Predicates)進行更為精準的選擇,謂語寫在
[Predicates]
中,例如//title[@lang]
則是選擇所有擁有名為 lang 的屬性的 title 元素。還可以用
*
選擇未知節點,用邏輯符號|
選取若幹路徑,具體可參考W3schoolXPath語法簡介