表達式
|
描述
|
nodename
|
選取此節點的所有子節點
|
/
|
從根節點選取
|
//
|
從匹配選擇的當前節點選擇文檔中的節點,而不考慮它們的位置
|
.
|
選取當前節點
|
..
|
選取當前節點的父節點
|
@
|
選取屬性
|
路徑表達式
|
結果
|
bookstore
|
選取 bookstore 元素的所有子節點
|
/bookstore
|
選取根元素 bookstore。假如路徑起始於正斜槓( / ),則此路徑始終代表到某元素的絕對路徑!
|
bookstore/book
|
選取所有屬於 bookstore 的子元素的 book 元素
|
//book
|
選取所有 book 子元素,而不管它們在文檔中的位置。
|
bookstore//book
|
選擇所有屬於 bookstore 元素的後代的 book 元素,而不管它們位於 bookstore 之下的什麼位置。
|
//@lang
|
選取所有名爲 lang 的屬性
|
路徑表達式
|
結果
|
/bookstore/book[1]
|
選取屬於 bookstore 子元素的第一個 book 元素。
|
/bookstore/book[last()]
|
選取屬於 bookstore 子元素的最後一個 book 元素。
|
/bookstore/book[last()-1]
|
選取屬於 bookstore 子元素的倒數第二個 book 元素。
|
/bookstore/book[position()<3]
|
選取最前面的兩個屬於 bookstore 元素的子元素的 book 元素。
|
//title[@lang]
|
選取所有擁有名爲 lang 的屬性的 title 元素。
|
//title[@lang='eng']
|
選取所有 title 元素,且這些元素擁有值爲 eng 的 lang 屬性。
|
/bookstore/book[price>35.00]
|
選取所有 bookstore 元素的 book 元素,且其中的 price 元素的值須大於 35.00。
|
/bookstore/book[price>35.00]/title
|
選取所有 bookstore 元素中的 book 元素的 title 元素,且其中的 price 元素的值須大於 35.00。
|
通配符
|
描述
|
*
|
匹配任何元素節點
|
@*
|
匹配任何屬性節點
|
node()
|
匹配任何類型的節點
|
路徑表達式
|
結果
|
/bookstore/*
|
選取 bookstore 元素的所有子節點
|
//*
|
選取文檔中的所有元素
|
//title[@*]
|
選取所有帶有屬性的 title 元素
|
路徑表達式
|
結果
|
//book/title | //book/price
|
選取所有 book 元素的 tilte 和 price 元素。
|
//title | //price
|
選取所有文檔中的 title 和 price 元素。
|
/bookstore/book/title | //price
|
選取所有屬於 bookstore 元素的 book 元素的 title 元素,以及文檔中所有的 price 元素。
|
軸名稱
|
結果
|
ancestor
|
選取當前節點的所有先輩(父、祖父等)
|
ancestor-or-self
|
選取當前節點的所有先輩(父、祖父等)以及當前節點本身
|
attribute
|
選取當前節點的所有屬性
|
child
|
選取當前節點的所有子元素。
|
descendant
|
選取當前節點的所有後代元素(子、孫等)。
|
descendant-or-self
|
選取當前節點的所有後代元素(子、孫等)以及當前節點本身。
|
following
|
選取文檔中當前節點的結束標籤之後的所有節點。
|
namespace
|
選取當前節點的所有命名空間節點
|
parent
|
選取當前節點的父節點。
|
preceding
|
選取文檔中當前節點的開始標籤之前的所有節點。
|
preceding-sibling
|
選取當前節點之前的所有同級節點。
|
self
|
選取當前節點。
|
例子
|
結果
|
child::book
|
選取所有屬於當前節點的子元素的 book 節點
|
attribute::lang
|
選取當前節點的 lang 屬性
|
child::*
|
選取當前節點的所有子元素
|
attribute::*
|
選取當前節點的所有屬性
|
child::text()
|
選取當前節點的所有文本子節點
|
child::node()
|
選取當前節點的所有子節點
|
descendant::book
|
選取當前節點的所有 book 後代
|
ancestor::book
|
選擇當前節點的所有 book 先輩
|
ancestor-or-self::book
|
選取當前節點的所有book先輩以及當前節點(假如此節點是book節點的話)
|
child::*/child::price
|
選取當前節點的所有 price 孫。
|
運算符
|
描述
|
實例
|
返回值
|
|
|
計算兩個節點集
|
//book | //cd
|
返回所有帶有 book 和 ck 元素的節點集
|
+
|
加法
|
6 + 4
|
10
|
-
|
減法
|
6 - 4
|
2
|
*
|
乘法
|
6 * 4
|
24
|
div
|
除法 8 div 4
|
2
|
|
=
|
等於
|
price=9.80
|
|
!=
|
不等於
|
price!=9.80
|
|
<
|
小於
|
price<9.80
|
|
<=
|
小於或等於
|
price<=9.80
|
|
>
|
大於
|
price>9.80
|
|
>=
|
大於或等於
|
price>=9.80
|
|
or
|
或
|
price=9.80 or price=9.70
|
|
and
|
與
|
price>9.00 and price<9.90
|
|
mod
|
計算除法的餘數
|
5 mod 2
|
1
|