XML實例文檔
我們將使用下面的XML文檔在下面的例子。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
XPath軸
的軸定義節點集合相對於當前節點的。
AXISNAME | 結果 |
---|---|
祖先 | 選擇所有祖先(parent, grandparent, etc.)當前節點的 |
祖先或自身 | 選擇所有祖先(parent, grandparent, etc.)當前節點的與當前節點本身 |
屬性 | 選擇當前節點的所有屬性 |
兒童 | 選擇當前節點的所有子 |
後裔 | 選擇所有後代(children, grandchildren, etc.)當前節點的 |
後代或自身 | 選擇所有後代(children, grandchildren, etc.)當前節點和當前節點本身 |
以下 | 當前節點的結束標記之後選擇文檔中的一切 |
以下同胞 | 選擇所有的兄弟姐妹當前節點之後 |
命名空間 | 選擇當前節點的所有命名空間節點 |
親 | 選擇當前節點的父節點 |
前 | 選擇該文件在當前節點之前,除非出現祖先的所有節點,屬性節點和命名空間節點 |
前同輩 | 在當前節點之前選擇所有的兄弟姐妹 |
自 | 選擇當前節點 |
位置路徑表達式
位置路徑可以是絕對或相對的。
絕對位置路徑以斜線開始( / )和相對定位路徑沒有。 在這兩種情況下的位置路徑由一個或多個步驟,每個步驟由一斜線分開:
An absolute location path:
/step/step/...
A relative location path:
step/step/...
每個步驟對在當前的節點集合中的節點進行評價。
甲步驟組成:
- 一個軸(defines the tree-relationship between the selected nodes and the current node)
- 一個節點測試(identifies a node within an axis)
- 零個或多個謂詞(to further refine the selected node-set)
用於位置步驟的語法是:
axisname::nodetest[predicate]
例子
例 | 結果 |
---|---|
孩子::書 | 選擇是當前節點的所有子節點的書 |
屬性::郎 | 選擇lang當前節點的屬性 |
兒童::* | 選擇當前節點的所有元素孩子 |
屬性::* | 選擇當前節點的所有屬性 |
孩子:: text() | 選擇當前節點的所有文本子節點 |
子:: node() | 選擇當前節點的所有子 |
後代::書 | 選擇當前節點的所有後代書 |
祖先::書 | 選擇當前節點的所有祖先書 |
祖先或自身::書 | 選擇當前節點的所有祖先的書 - 和當前以及如果它是一本書節點 |
孩子:: * /子::價格 | 選擇當前節點的所有價格孫子 |