濮阳杆衣贸易有限公司

主頁 > 知識庫 > xpath簡介_動力節(jié)點Java學院整理

xpath簡介_動力節(jié)點Java學院整理

熱門標簽:東營電銷 隨州外呼調研系統(tǒng) 高德地圖地圖標注服務中心 微信地圖標注合并了 r語言數據可視化地圖標注 南寧網絡外呼系統(tǒng)運營商 如何修改多個百度地圖標注 400電話辦理包年 本地電話機器人

簡單說,xpath就是選擇XML文件中節(jié)點的方法。

所謂節(jié)點(node),就是XML文件的最小構成單位,一共分成7種。

- element(元素節(jié)點)
- attribute(屬性節(jié)點)
- text (文本節(jié)點)
- namespace (名稱空間節(jié)點)
- processing-instruction (處理命令節(jié)點)
- comment (注釋節(jié)點)
- root (根節(jié)點)

xpath可以用來選擇這7種節(jié)點。不過,下面的筆記只涉及最常用的第一種element(元素節(jié)點),因此可以將下文中的節(jié)點和元素視為同義詞。

一、xpath表達式的基本格式

xpath通過"路徑表達式"(Path Expression)來選擇節(jié)點。在形式上,"路徑表達式"與傳統(tǒng)的文件系統(tǒng)非常類似。

# 斜杠(/)作為路徑內部的分割符。
# 同一個節(jié)點有絕對路徑和相對路徑兩種寫法。
# 絕對路徑(absolute path)必須用"/"起首,后面緊跟根節(jié)點,比如/step/step/...。
# 相對路徑(relative path)則是除了絕對路徑以外的其他寫法,比如 step/step,也就是不使用"/"起首。
# "."表示當前節(jié)點。
# ".."表示當前節(jié)點的父節(jié)點

二、選擇節(jié)點的基本規(guī)則

- nodename(節(jié)點名稱):表示選擇該節(jié)點的所有子節(jié)點
- "/":表示選擇根節(jié)點
- "http://":表示選擇任意位置的某個節(jié)點
- "@": 表示選擇某個屬性

三、選擇節(jié)點的實例

先看一個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]

bookstore :選取 bookstore 元素的所有子節(jié)點。

[例2]

/bookstore :選取根節(jié)點bookstore,這是絕對路徑寫法。

[例3]

bookstore/book :選取所有屬于 bookstore 的子元素的 book元素,這是相對路徑寫法。

[例4]

//book :選擇所有 book 子元素,而不管它們在文檔中的位置。

[例5]

bookstore//book :選擇所有屬于 bookstore 元素的后代的 book 元素,而不管它們位于 bookstore 之下的什么位置。

[例6]

//@lang :選取所有名為 lang 的屬性。

四、xpath的謂語條件(Predicate)

所謂"謂語條件",就是對路徑表達式的附加條件。

所有的條件,都寫在方括號"[]"中,表示對節(jié)點進行進一步的篩選。

[例7]

/bookstore/book[1] :表示選擇bookstore的第一個book子元素。

[例8]

/bookstore/book[last()] :表示選擇bookstore的最后一個book子元素。

[例9]

/bookstore/book[last()-1] :表示選擇bookstore的倒數第二個book子元素。

[例10]

/bookstore/book[position()3] :表示選擇bookstore的前兩個book子元素。

[例11]

//title[@lang] :表示選擇所有具有l(wèi)ang屬性的title節(jié)點。

[例12]

//title[@lang='eng'] :表示選擇所有l(wèi)ang屬性的值等于"eng"的title節(jié)點。

[例13]

/bookstore/book[price] :表示選擇bookstore的book子元素,且被選中的book元素必須帶有price子元素。

[例14]

/bookstore/book[price>35.00] :表示選擇bookstore的book子元素,且被選中的book元素的price子元素值必須大于35。

[例15]

/bookstore/book[price>35.00]/title :表示在例14結果集中,選擇title子元素。

[例16]

/bookstore/book/price[.>35.00] :表示選擇值大于35的"/bookstore/book"的price子元素。

五、通配符

# "*"表示匹配任何元素節(jié)點。
# "@*"表示匹配任何屬性值。
# node()表示匹配任何類型的節(jié)點。

[例17]

//* :選擇文檔中的所有元素節(jié)點。

[例18]

/*/* :表示選擇所有第二層的元素節(jié)點。

[例19]

/bookstore/* :表示選擇bookstore的所有元素子節(jié)點。

[例20]

//title[@*] :表示選擇所有帶有屬性的title元素。

六、選擇多個路徑

用"|"選擇多個并列的路徑。

[例21]

//book/title | //book/price :表示同時選擇book元素的title子元素和price子元素。

您可能感興趣的文章:
  • JAVA通過XPath解析XML性能比較詳解
  • java selenium XPath 定位實現方法
  • java使用xpath解析xml示例分享
  • java使用xpath和dom4j解析xml
  • 深入XPath的詳解以及Java示例代碼分析
  • java編程之xpath介紹

標簽:果洛 拉薩 黃石 西雙版納 德州 益陽 宿遷 寧夏

巨人網絡通訊聲明:本文標題《xpath簡介_動力節(jié)點Java學院整理》,本文關鍵詞  xpath,簡介,動力,節(jié)點,Java,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《xpath簡介_動力節(jié)點Java學院整理》相關的同類信息!
  • 本頁收集關于xpath簡介_動力節(jié)點Java學院整理的相關信息資訊供網民參考!
  • 推薦文章
    屏山县| 伊春市| 清远市| 广河县| 大足县| 宁安市| 舟曲县| 丰都县| 井冈山市| 安庆市| 石屏县| 延津县| 阿瓦提县| 利辛县| 郴州市| 台北县| 彰武县| 富阳市| 射阳县| 连州市| 浠水县| 盐亭县| 房产| 于田县| 呼图壁县| 饶阳县| 屏东市| 盐亭县| 苍梧县| 泰来县| 秦安县| 保山市| 灌云县| 芒康县| 闽侯县| 怀化市| 化德县| 乐昌市| 平泉县| 余姚市| 靖西县|