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