色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

關(guān)鍵詞搜索后的鏈接XPath怎么寫?

阮建安2年前12瀏覽0評論

這里給你提供一些資料吧,我從網(wǎng)絡(luò)上給你找的,希望對你有用,

我也剛剛學(xué)不久,希望這些信息對你有幫助

XPath是一門在XML文檔中查找信息的語言。XPath用于在XML文檔中通過元素和屬性進(jìn)行導(dǎo)航。

XPath含有超過100個內(nèi)建的函數(shù)。這些函數(shù)用于字符串值、數(shù)值、日期和時間比較、節(jié)點和QName處理、序列處理、邏輯值等等。

XPath是W3C標(biāo)準(zhǔn),XPath于1999年11月16日成為W3C標(biāo)準(zhǔn)。XPath被設(shè)計為供XSLT、XPointer以及其他XML解析軟件使用。

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

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

一、選取節(jié)點

常用的路徑表達(dá)式:

二、謂詞:被嵌在方括號內(nèi),用來查找某個特定的節(jié)點或包含某個制定的值的節(jié)點

三、通配符:Xpath通過通配符來選取未知的XML元素

四、取多個路徑:使用“|運算符可以選取多個路徑

五、Xpath軸:軸可以定義相對于當(dāng)前節(jié)點的節(jié)點集

六、功能函數(shù):使用功能函數(shù)能夠更好的進(jìn)行模糊搜索

七、常用函數(shù):

1、精確定位

(1)contains(str1,str2)用來判斷str1是否包含str2例1://*[contains(@class,'c-summaryc-row')]選擇@class值中包含c-summaryc-row的節(jié)點例2://div[contains(.//text(),'價格')]選擇text()中包含價格的div節(jié)點

(2)position()選擇當(dāng)前的第幾個節(jié)點例1://*[@class='result'][position()=1]選擇@class='result'的第一個節(jié)點例2://*[@class='result'][position()<=2]選擇@class='result'的前兩個節(jié)點

(3)last()選擇當(dāng)前的倒數(shù)第幾個節(jié)點例1://*[@class='result'][last()]選擇@class='result'的最后一個節(jié)點例2://*[@class='result'][last()-1]選擇@class='result'的倒數(shù)第二個節(jié)點

(4)following-sibling選取當(dāng)前節(jié)點之后的所有同級節(jié)點例1://div[@class='result']/following-sibling::div選擇@class='result'的div節(jié)點后所有同級div節(jié)點找到多個節(jié)點時可通過position確定第幾個如://div[@class='result']/following-sibling::div[position()=1]

(5)preceding-sibling選取當(dāng)前節(jié)點之前的所有同級節(jié)點使用方法同following-sibling

2、過濾信息

(1)substring-before(str1,str2)用于返回字符串str1中位于第一個str2之前的部分例子:substring-before(.//*[@class='c-more_link']/text(),'條')返回.//*[@class='c-more_link']/text()中第一個'條'前面的部分,如果不存在'條',則返回空值

(2)substring-after(str1,str2)跟substring-before類似,返回字符串str1中位于第一個str2之后的部分例1:substring-after(.//*[@class='c-more_link']/text(),'條')返回.//*[@class='c-more_link']/text()中第一個’條’后面的部分,如果不存在'條',則返回空值例2:substring-after(substring-before(.//*[@class='c-more_link']/text(),'新聞'),'條')返回.//*[@class='c-more_link']/text()中第一個'新聞'前面與第一個'條'后面之間的部分

(3)normalize-space()用來將一個字符串的頭部和尾部的空白字符刪除,如果字符串中間含有多個連續(xù)的空白字符,將用一個空格來代替例子:normalize-space(.//*[contains(@class,'c-summaryc-row')])

(4)translate(string,str1,str2)假如string中的字符在str1中有出現(xiàn),那么替換為str1對應(yīng)str2的同一位置的字符,假如str2這個位置取不到字符則刪除string的該字符例子:translate('12:30','03','54')結(jié)果:'12:45'

3、拼接信息

(1)concat()函數(shù)用于串連多個字符串例子:concat('http://baidu.com',.//*[@class='c-more_link']/@href)