在xpath中經常使用的概念:
1:基本值(原子值,atomic value):用於表示簡單的資料值;
2:項(iterm):乙個項代表乙個節點或乙個基本值,xpath2.0引入;
3:節點集:多個節點;
4:序列:item和節點集就是序列,xpath2.0引入。
xpath支援的節點型別
指定資料型別方法:
使用datatype(data)格式。
e.g.
double(data)
location step由三個部分組成:
1:乙個軸:指定所選節點和當前節點之間的關係;
2:乙個節點測試:指定選取節點的節點型別;
3:n個限定謂語:使用任意的表示式進一步提煉所選節點集。
step:
axisspecifiter nodetest predicate* | abbreviatedstep
axisspecifier:
axisname::| abbrevlatedaxisspecifier
xpath所支援的軸:
ancestor
ancestor-or-self
attribute
child
descendant
descendant-self
following
following-sibling
namespace
parent
preceding
preceding-sibling
self
xpath支援的節點測試:
1:nametest:直接具體名稱;
2:node():選擇軸裡的所有節點;
3:text():選擇文字節點;
4:comment():選擇注釋節點;
5:processing-instruction:選擇處理指令節點;
6:*:萬用字元。
1:省略child軸:因為child為預設軸,所以當軸是child時,可以省略軸;
2:@代表屬性軸;
3://代表後代節點:其實就是/descendant-or-self::node()/的簡寫;
4:.代表當前節點:self::node()的簡寫;
5:..代表父節點:parent::node()的簡寫。
算數運算子:+、-、*、div、mod。
算數運算時,所有操作都會自動轉換為數值。
注意:1:xpath所有數值都是double型別。
2:對於字串數值,xpath會擷取前後的空白,並轉換為數值,如果字串不是陣列,將轉換成nan;
3:ture轉換成1,false轉換成0;
4:對於節點集,其會先轉換成字串;
5:在表示式中計算兩個元素之差時,應在減號前後增加空格。
比較運算子:=、!=、<、<=、>、>=。
邏輯運算子:and、or。
|:用於組合多個路徑。
xpath2.0提供了幾個表示式:
作用:迴圈訪問序列中的每一項。
格式:
forexpr:
******forclause return exprsingle
******forclause:
for $varname in exprsingle (, &varname in exprsingle)*
格式:
if (condition1)
then rtval1
[else if (condition2)
then rtval2
else
otherval
示例:
if ($widget1/unit-cost < $widget2/unit-cost)then $widget1
else $widget2
if ($part/@discounted)then $part/wholesale
else $part/retail
作用:判斷序列中的全部項或者任一項是否滿足某個條件。
格式:
some | every &varname in exprsingle (, $varname in exprsingle)* satisfies exprsingle
示例:
some $x in (1, 2, "cat") satisfies $x * 2 = 4
xpath基礎學習
路徑以 開始,該路徑表示道乙個元素的絕對路徑 aa cc選擇aa的所有cc子元素 路徑以 開頭,表示選擇文件中所有滿足 所有規則的元素,不論層級關係 bb 選擇所有的bb元素 dd bb 選擇所有父元素是dd的預案bb元素 表示選擇所有由 之前的路徑所定位的元素 aa cc dd 選擇 aa cc ...
XPath學習筆記
xpath 是一門在 xml 文件中查詢資訊的語言。xpath 用於在 xml 文件中通過元素和屬性進行導航。xpath包含有乙個標準的函式庫,是xslt中的主要元素,同時也是乙個w3c標準。若把xml用樹來表示,那麼根節點最上層的節點,根節點是唯一的。樹上其它的所有元素節點都是子節點或後代節點。元...
Xpath學習筆記
在 xpath 中,有七種型別的節點 元素 屬性 文字 命名空間 處理指令 注釋以及文件節點 或稱為根節點 lang eng harry pottertitle 29.99price book lang eng learning xmltitle 39.95price book bookstore ...