學習筆記 XPath基礎

2021-06-05 09:58:59 字數 2534 閱讀 4378

在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 ...