日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XPath语法规则及实例

發布時間:2023/12/2 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XPath语法规则及实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XPath語法規則及實例

XPath語法規則

一、XPath術語:

1.節點:在XPath中,有七種類型的節點:元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根)節點。

XML文檔是被作為節點樹來對待的。樹的根被稱為文檔節點或者根節點。

實例

1:XML文檔:

<?xml?version="1.0"?encoding="ISO-8859-1"?>?

<bookstore>?

<book>?

<title?lang="en">Harry?Potter</title>?

<author>J?K.?Rowling</author>?

<year>2005</year>?

<price>29.99</price>?

</book>?

</bookstore>?

上面的XML文檔中的節點例子:<bookstore>(文檔節點),<author>J?K.?Rowling</author>(元素節點),lang="en"(屬性節點)。

2.基本值(或稱原子值,Atomic?value)

基本值是無父或無子的節點。基本值的例子:在實例1的xml文檔中J?K.?Rowling、"en"?

3.項目(Item)項目是基本值或者節點。

4.節點的關系:

1)父節點(Parent):每個元素以及屬性都有一個父。在上面實例1的xml?文檔中,book?元素是?title、author、year?以及price?元素的父節點。

2)子節點(Children):元素節點可有零個、一個或多個子。在上面實例1的xml?文檔中,title、author、year?以及price?元素都是book?元素的子。

3)同胞(Sibling):擁有相同的父的節點,在上面實例1的xml?文檔中,title、author、year?以及price?元素都是同胞。

4)先輩(Ancestor)某節點的父、父的父,等等。在實例1的xml?文檔中,title?元素的先輩是book?元素和bookstore?元素。

5)后代(Descendant)某個節點的子,子的子,等等。在實例1的xml?文檔中,bookstore?的后代是book、title、author、year?以及price?元素。

?

二、XPath語法:

XPath?使用路徑表達式來選取XML?文檔中的節點或節點集。節點是通過沿著路徑(path)?或者步(steps)?來選取的。我們將在下面的例子中使用這個XML?文檔:

<?xml?version="1.0"?encoding="ISO-8859-1"?>?

<bookstore>?

<book>?

<title?lang="eng">Harry?Potter</title>?

<price>29.99</price>?

</book>? <book>?

<title?lang="eng">Learning?XML</title>?

<price>39.95</price>?

</book>?

</bookstore>?

1.選取節點XPath?使用路徑表達式在XML?文檔中選取節點。節點是通過沿著路徑或者step?來選取的。下面列出了最有用的路徑表達式:

?表達式描述nodename?選取此節點的所有子節點。

實例:在下面的表格中,我們已列出了一些路徑表達式以及表達式的結果:

?2.謂語(Predicates)

?謂語用來查找某個特定的節點或者包含某個指定的值的節點,謂語被嵌在方括號中。

?實例:在下面的表格中,我們列出了帶有謂語的一些路徑表達式,以及表達式的結果:

3.選取未知節點XPath

?通配符可用來選取未知的?XML?元素。

?

實例:在下面的表格中,我們列出了一些路徑表達式,以及這些表達式的結果:

?4.選取若干路徑

?通過在路徑表達式中使用“|”運算符,您可以選取若干個路徑。

?實例:在下面的表格中,我們列出了一些路徑表達式,以及這些表達式的結果:

?

?XPath語法規則及實例

三、XPath?Axes(坐標軸)

我們將在下面的例子中使用此XML?文檔:

1.XPath?軸

軸可定義相對于當前節點的節點集。

2.位置路徑表達式

?位置路徑可以是絕對的,也可以是相對的。絕對路徑起始于正斜杠(?/?),而相對路徑不會這樣。在兩種情況中,位置路徑均包括一個或多個步,每個步均被斜杠分割:

?絕對位置路徑:/step/step/...?

?相對位置路徑:step/step/...?

?每個步均根據當前節點集之中的節點來進行計算。

3.步(step)包括:

軸(axis):定義所選節點與當前節點之間的樹關系。

節點測試(node-test):識別某個軸內部的節點。

零個或者更多謂語(predicate):更深入地提煉所選的節點集。

步的語法:軸名稱::節點測試[謂語]。

實例:

4.常用函數:

last()??節點數組的最后一個

position()?下標索引,從1開始

text()? ? 節點的文本內容

contains(@attr,?'value')?????模糊匹配

starts-with(@attr,?'value')??是否以指定字符開頭

count(@attr)??????匹配次數

string-length()???????返回字符串的字符數,你應該用&lt;替代<,?用&gt;代替>?

normalize-space()????函數刪除了前部和尾部的空格,?并且把連續的空格串替換為一個單一的空格

四、XPath?運算符:

?

五、XPath?實例

實例一

?

?

?

?

文章來源于:https://wenku.baidu.com/view/64d6c115f18583d0496459e0.html

?

轉載于:https://www.cnblogs.com/jingdenghuakai/p/11078780.html

總結

以上是生活随笔為你收集整理的XPath语法规则及实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。