如何理解XPath表達(dá)式語法

本篇內(nèi)容介紹了“如何理解XPath表達(dá)式語法”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司是專業(yè)的永昌網(wǎng)站建設(shè)公司,永昌接單;提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行永昌網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!


如何理解XPath表達(dá)式語法

XPath路徑表達(dá)式

XPath即為XML路徑語言,它是一種用來確定XML(標(biāo)準(zhǔn)通用標(biāo)記語言的子集)文檔中某部分位置的語言。XPath基于XML的樹狀結(jié)構(gòu),提供在數(shù)據(jù)結(jié)構(gòu)樹中找尋節(jié)點的能力。XPath使用路徑表達(dá)式去確定XML文檔中的節(jié)點。

示例XML文檔

我們將利用下面的XML文檔描述XPath語法

<?xml version="1.0" encoding="GB2312"?>

<order>
  <item catalog="parts">
    <itemNumber>C2688-67037</itemNumber>
    <description>LCD液晶顯示器</description>
    <quantity>1</quantity>
    <price>358.00</price>
  </item>
 <item catalog="parts">
    <itemNumber>C2688-67061</itemNumber>
    <description>音箱</description>
    <quantity>1</quantity>
    <price>16.50</price>
  </item>
  <item catalog="parts">
    <itemNumber>C2688-67010</itemNumber>
    <description>鼠標(biāo)</description>
    <quantity>1</quantity>
    <price>8.50</price>
  </item>
</order>

從根節(jié)點選取“/”

XML文擋可以表示為樹結(jié)構(gòu)節(jié)點形式 XPath使用模式表達(dá)式識別XML文檔的節(jié)點。 一個XPath的模式是使用反斜杠“/”分開子元素名稱描述路徑 下面的XPath表達(dá)式選擇元素order下元素item中的所有price元素

/order/item/price

注釋:用“/”路徑開始代表元素的絕對路徑,不用“/”路徑開始代表元素的相對路徑

item/price

從整個文檔選取“//”

用“//”路徑開始代表整個文檔滿足條件的所有元素,不考慮它們的位置 下面的XPath表達(dá)式選擇文檔中所有的item元素

//item

選擇未知元素“*”

通配符 “*”可用于選擇未知XML元素 下面的XPath表達(dá)式選擇元素order中的所有item元素所屬的子元素

/order/item/*

下面的XPath表達(dá)式選擇元素order下所有孫子輩的price元素

/order/*/price

下面的XPath表達(dá)式選擇所有具有兩個祖先的price元素

///price

下面的XPath表達(dá)式選擇文檔所有元素

//*

選擇分支“[]”(謂語)

使用方括號[]可以指定特定的元素 下面的XPath表達(dá)式選擇元素order中的第一個item的子元素

/order/item[1]

下面的XPath表達(dá)式選擇元素order中的最后一個item的子元素

/order/item[last()]

下面的XPath表達(dá)式選擇元素order中具有price元素的item元素

/order/item[price]

下面的XPath表達(dá)式,從元素order中選擇具有price等于12.60元素的item元素

/order/item[price=16.50]

下面的XPath表達(dá)式,從隸屬于元素order的item元素中選擇具有price等于12.60元素的price元素

/order/item[price=16.50]/price

選擇幾個路徑“|”

在XPath表達(dá)式中,使用 "|" 運(yùn)算符可以選擇幾個路徑 。實質(zhì)上是邏輯“與”操作 下面的XPath表達(dá)式,從隸屬于order的item元素中選擇所有itemNumber 和description 元素

/order/item/itemNumber | /order/item/description

下面的XPath表達(dá)式,從文檔中選擇所有itemNumber 和description 元素

//itemNumber | //description

下面的XPath表達(dá)式,從文檔中選擇所有itemNumber ,description和price 元素

//itemNumber | //description | //price

下面的XPath表達(dá)式,選取屬于order中item下所有itemNumber元素和從文檔中選擇所有description元素

/order/item/itemnumber | //description

選擇屬性“@”

在XPath中,所有屬性使用@前綴 下面的XPath表達(dá)式,選取所有名為catalog的屬性

//@catalog

下面的XPath表達(dá)式,選取所有具有catalog屬性的item元素

//item[@catalog]

下面的XPath表達(dá)式,選取所有具有任何屬性的item元素

//item[@*]

下面的XPath表達(dá)式,選取所有具有catalog等于"parts"屬性的item元素

//item[@catalog="parts"]

總結(jié)

(1)選取節(jié)點 下面列出了最有用的路徑表達(dá)式:

表達(dá)式描述
nodename選取此節(jié)點的所有子節(jié)點。
/從根節(jié)點選取。
//從匹配選擇的當(dāng)前節(jié)點選擇文檔中的節(jié)點,而不考慮它們的位置。
.選取當(dāng)前節(jié)點。
..選取當(dāng)前節(jié)點的父節(jié)點。
@選取屬性。

(2)謂語(Predicates) 謂語用來查找某個特定的節(jié)點或者包含某個指定的值的節(jié)點。 謂語被嵌在方括號[]中。 (3)選取未知節(jié)點 XPath 通配符可用來選取未知的 XML 元素。

通配符描述
*匹配任何元素節(jié)點。
@*匹配任何屬性節(jié)點。
node()匹配任何類型的節(jié)點。

(4)選取若干路徑 通過在路徑表達(dá)式中使用“|”運(yùn)算符,您可以選取若干個路徑。 更多有關(guān)XPath語法規(guī)則請訪問W3CSchool。

“如何理解XPath表達(dá)式語法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

網(wǎng)站題目:如何理解XPath表達(dá)式語法
分享URL:http://bm7419.com/article40/pcgpeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站收錄網(wǎng)站內(nèi)鏈、網(wǎng)站維護(hù)響應(yīng)式網(wǎng)站、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計