XPATH語法總結與示例

2021-10-02 06:45:04 字數 2976 閱讀 3005

路徑表示式

含義title

選取當前節點下所有title子節點

/book

從根節點找子節點是book的,找不到

book/title

當前節點下所有子節點book下的title節點

//title

從根節點向下找任意層中title的結點

book//title

當前節點下所有book子節點下任意層次的title節點

//@id

任意層次下含有id的屬性,取回的是屬性

//book[@id]

任意層次下含有id屬性的book節點

//*[@id]

任意層下含有id屬性的節點

//book[@id=「bk102」]

任意層次下book節點,且含有id屬性為bk102的節點。

/bookstore/book[1]

根節點bookstore下第乙個book節點,從1開始

/bookstore/book[1]/@id

根節點bookstore下的第乙個book節點的id屬性

/bookstore/book[last()-1]

根節點bookstore下倒數第二個book節點,

函式last()

返回最後乙個元素索引

/bookstore/*

匹配根節點bookstore的所有子節點,不遞迴

//*匹配所有子孫節點

//[@]

匹配所有有屬性的節點

//book/title

//price

//book[position()=2]

匹配book節點,取第二個

//book[position()匹配book節點,取位置小於倒數第二個

//book[price>40]

匹配book節點,取節點值大於40的book節點

//book[2]/node()

匹配位置為2的book節點下的所有型別的節點

//book[1]/text()

匹配第乙個book節點下的所有文字子節點

//book[1]/text()

匹配第乙個book節點下的所有文字節點

//*[local-name()=「book」]

匹配所有節點且不帶限定名的節點名稱為book的所有節點。

local-name

函式取不帶限定名的名稱。相當於指定標籤元素為…的節點

下面這三種表示式等價

//book[price<6]/price

//book/price[text()<6]

//book/child::node()[local-name()=「price」 and text()<6]

獲取book節點下的price節點,且price中內容小於6的節點

//book//*[self::title or self::price]

等價於//book//title

//book/price

也等價於//book//*[local-name()=「title」 or local-name()=「price」]

所有book節點下子孫節點,且這些節點是title或者price。

//*[@class]

所有有class屬性的節點

//*[@class=「bookinfo even」]

所有屬性為「bookinfo even」的節點

//*[contains(@class,『even』)

獲取所有屬性class中包含even字串的節點

//*[contains(local-name(),『book』)

標籤名包含book的節點

函式含義

local-name()

獲取不帶限定名的名稱。相當於指定標籤元素

text()

獲取標籤之間的文字內容

node()

所有節點。

contains(@class,str)

包含starts-with(local-name(),「book」)

以book開頭

last()

最後乙個元素索引

position()

元素索引

獲取所有屬性class中包含s3字串的節點

等同於//*[local-name()="p"]/text()

ps:雖然python解析xml的庫很多,但是,由於lxml在底層是用c語言實現的,所以lxml在速度上有明顯優勢。除了速度上的優勢,lxml在使用方面,易用性也非常好。這裡將以下面的xml資料為例,介紹lxml的簡單使用。

所有練習**在:

XPath 語法示例

參考 xpath 使用路徑表示式來選取 xml 文件中的節點或節點集。節點是通過沿著路徑 path 或者步 steps 來選取的。我們將在下面的例子中使用這個 xml 文件。harry potter 29.99 learning xml 39.95 xpath 使用路徑表示式在 xml 文件中選取節...

XPath 語法總結

xpath 是一門在 xml 文件中查詢資訊的語言。xpath 可用來在 xml 文件中對元素和屬性進行遍歷。xpath 是 w3c xslt 標準的主要元素,並且 xquery 和 xpointer 都構建於 xpath 表達之上。因此,對 xpath 的理解是很多高階 xml 應用的基礎。xpa...

Xpath語法總結

xpath 使用路徑表示式來選取 xml 文件中的節點或者節點集。這些路徑表示式和我們在常規的電腦檔案系統中看到的表示式非常相似。在 xpath 中,有七種型別的節點 元素 屬性 文字 命名空間 處理指令 注釋以及文件節點 或稱為根節點 xml 文件是被作為節點樹來對待的。樹的根被稱為文件節點或者根...