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