摘要:如果參數匹配指定的模式,則返回,否則返回。其他關鍵信息其他關鍵信息支持的運算符支持的運算符軸軸軸可定義相對于當前節點的節點集語法軸節點選擇器錨點描述節點選擇器選取當前節點的所有先輩父祖父等。選取文檔中當前節點的開始標簽之前的所有節點。
最近在做UI自動化, UI自動化的元素定位繞不開XPath, 抽空學習了XPath相關知識, 這里做下學習筆記.
XPath, 全稱 XML Path Language, 即XML路徑語言, 是一門在XML文檔中查找信息的語言.
XPath是使用路徑表達式來選去XML文檔中的節點或者節點集. 節點是通過沿著路徑(path)或者步(steps)來選取的.
表達式 | 描述 |
---|---|
nodename | 選取此節點的所有子節點 |
/ | 從當前節點選取直接子節點 |
// | 從匹配選擇的當前節點選擇所有子孫節點 |
. | 選取當前節點 |
.. | 選取當前節點的父節點 |
@ | 選取屬性 |
謂語用來查找某個特定的節點或者包含某個指定的值的節點.
謂語被嵌在方括號中
謂語 | 描述 |
---|---|
n | 第n個元素 |
last() | 最后一個元素 |
last()-n | 倒數第n+1個元素 |
position()選取前n-1個元素 |
|
@XXX | 可以嵌套表達式 |
XPath通配符可以用于選取未知的XML元素.
通配符 | 描述 |
---|---|
* | 匹配任何元素節點 |
@* | 匹配任何屬性節點 |
node() | 匹配任何類型的節點 |
通過在路徑表達式中使用“|”, 可以選取若干個路徑.
eg:
路徑表達式 | 結果 |
---|---|
//* | 匹配文檔中的所有元素 |
//title[@*] | 匹配所有帶有屬性的title元素 |
//title | //price |
/bookstore/book[price>35.00] | 選取 bookstore 元素的所有 book 元素,且其中的 price 元素的值須大于 35.00。 |
XPath包含有超過100個內建函數. 這些函數用于字符串值、數值、日期和時間比較、節點和QName處理、序列處理、邏輯值等.
函數 | 描述 |
---|---|
contains(@AA, "XXX") | 屬性AA是否包含XXX的元素 |
starts-with(string1,string2) | 如果 string1 以 string2 開始,則返回 true,否則返回 false。 |
ends-with(string1,string2) | 如果 string1 以 string2 結尾,則返回 true,否則返回 false。 |
matches(string,pattern) | 如果 string 參數匹配指定的模式,則返回 true,否則返回 false。 |
and、or、mod、+、-、*、div、=、!=、<、<=、>、>=
錨點 | 描述 |
---|---|
ancestor::節點選擇器 | 選取當前節點的所有先輩(父、祖父等)。 |
ancestor-or-self | 選取當前節點的所有先輩(父、祖父等)以及當前節點本身。 |
attribute::節點選擇器 | 選取當前節點的所有屬性值 |
child | 選取當前節點的所有直接子元素 |
descendant | 獲取當前節點的所有后代元素(子、孫等) |
following | 獲取當前節點的結束標簽之后的所有節點 |
following-sibling | 可以獲取當前節點之后的所有同級節點 |
namespace | 選取當前節點的所有命名空間節點。 |
preceding | 選取文檔中當前節點的開始標簽之前的所有節點。 |
self | 選取當前節點 |
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/1367.html
摘要:聲明語句是可選部分如果存在需要放在文檔的第一行所謂的文檔聲明就是告訴解析器當前文檔格式版本號以及編碼格式。所有的元素都必須是成對閉合標簽非閉合標簽是非法的,解析器將報錯,不無正常解析標簽對大小寫敏感必須頭尾標簽一致。 前言 一直想系統性的學XML,就沒時間學,今晚抽出幾個小時時間學完了XML。過幾天再過來看看,背一背應該就差不多,記得東西較多,沒什么難理解的。 XML數據傳輸格式 第一...
摘要:聲明語句是可選部分如果存在需要放在文檔的第一行所謂的文檔聲明就是告訴解析器當前文檔格式版本號以及編碼格式。所有的元素都必須是成對閉合標簽非閉合標簽是非法的,解析器將報錯,不無正常解析標簽對大小寫敏感必須頭尾標簽一致。 前言 一直想系統性的學XML,就沒時間學,今晚抽出幾個小時時間學完了XML。過幾天再過來看看,背一背應該就差不多,記得東西較多,沒什么難理解的。 XML數據傳輸格式 第一...
摘要:而在使用測試完后并不能直接生成的報告無論是用還是命令行啟動。所以需要對這個報告進行擴展。在擴展的過程中進一步發現的聚合結果中最后的總體一行在某些情況下計算的數值是不準確的。 題記:在用 loadrunner 的時候可以生成一個 HTML 的報告,并且里面包含各種圖表,各種詳細的數據。而在使用 Jmeter 測試完后并不能直接生成 Html 的報告(無論是用 GUI 還是命令行啟動)。 ...
摘要:函數接收三個參數上下文節點表達式和可選的命名空間對象。命名空間對象應該是下面這種字面量的形式。使用樣式表轉換文檔跨瀏覽器使用這個函數接收兩個參數要執行轉換的上下文節點和文檔對象。 showImg(https://segmentfault.com/img/bVbvHVd?w=962&h=496); 本章主要講解了以下四個問題: 1、將XML解析為DOM文檔 跨瀏覽器把XML解析為DOM文...
閱讀 2690·2021-11-08 13:16
閱讀 2367·2021-10-18 13:30
閱讀 2237·2021-09-27 13:35
閱讀 1993·2019-08-30 15:55
閱讀 2442·2019-08-30 13:22
閱讀 576·2019-08-30 11:24
閱讀 2077·2019-08-29 12:33
閱讀 1813·2019-08-26 12:10