常用的XPath表示式

2021-08-26 14:08:11 字數 1495 閱讀 3763

一些常用的xpath表示式:

/catalog/cd/price   

如果xpath的開頭是乙個斜線(/)代表這是絕對路徑。如果開頭是兩個斜線(//)表示檔案中所有符合模式的元素都會被選出來,即使是處於樹中不同的層級也會被選出來。以下的語法會選出檔案中所有叫做cd的元素(在樹中的任何層級都會被選出來):

//cd

選擇未知的元素

使用星號(wildcards,*)可以選擇未知的元素。下面這個語法會選出/catalog/cd 的所有子元素:

/catalog/cd/*

以下的語法會選出所有catalog的子元素中,包含有price作為子元素的元素。

/catalog/*/price

以下的語法會選出有兩層父節點,叫做price的所有元素。

/*/*/price

以下的語法會選擇出檔案中的所有元素。

//*

要注意的是,想要訪問不分層級的元素,xpath語法必須以兩個斜線開頭(//),想要訪問未知元素才用星號(*),星號只能代表未知名稱的元素,不能代表未知層級的元素。

選擇分支

使用中括號可以選擇分支。以下的語法從catalog的子元素中取出第乙個叫做cd的元素。xpath的定義中沒有第0元素這種東西。

/catalog/cd[1]

以下語法選擇catalog中的最後乙個cd元素:(xpathj並沒有定義 first() 這種函式喔,用上例的 [1]就可以取出第乙個元素。

/catalog/cd[last()]

以下語法選出含有price子元素的所有/catalog/cd元素。

/catalog/cd[price]

以下語法選出price元素的值等於10.90的所有/catalog/cd元素

/catalog/cd[price=10.90]

以下語法選出price元素的值等於10.90的所有/catalog/cd元素 的price元素

/catalog/cd[price=10.90]/price

選擇乙個以上的路徑

使用or運算元( ¦)就可以選擇乙個以上的路徑。例如:

/catalog/cd/title ¦ catalog/cd/artist

選擇所有title以及artist元素

//title ¦ //artist

選擇所有title以及artist以及price元素

//title ¦ //artist ¦ //price

選擇屬性

在xpath中,除了選擇元素以外,也可以選擇屬性。屬性都是以@開頭。例如選擇檔案中所有叫做country的屬性:

//@country

選擇所有含有country這個屬性的cd元素:

//cd[@country]

以下語法選擇出含有屬性的所有cd元素

//cd[@*]

以下語法選擇出country屬性值為uk的cd元素

//cd[@country='uk']

XPath常用表示式

我們將在下面的例子中使用這個 xml 文件。harry potter 29.99 learning xml 39.95 xpath 使用路徑表示式在 xml 文件中選取節點。節點是通過沿著路徑或者 step 來選取的。表示式描述 nodename 選取此節點的所有子節點 從根節點擊取 從匹配選擇的當...

Xpath路徑表示式

簡單說,xpath就是選擇xml檔案中節點的方法。所謂節點 node 就是xml檔案的最小構成單位,一共分成7種。element 元素節點 attribute 屬性節點 text 文字節點 namespace 命名空間節點 processing instruction 處理命令節點 comment ...

Xpath檔案表示式

簡單說,xpath 就是選擇 xml檔案中節點的方法。所謂節點 node 就是 xml檔案的最小構成單位,一共分成7種。element 元素節點 attribute 屬性節點 text 文字節點 namespace 命名空間節點 processing instruction 處理命令節點 comme...