成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

xPath注入的基礎(chǔ)語法有哪些

這篇文章主要介紹了xPath注入的基礎(chǔ)語法有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

榕城ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!

首先什么是xPath:xPath是一種在xml查找信息的語言

在xPath中,有七種元素的節(jié)點:元素、屬性、文本、命名空間、處理指令、注釋以及文檔(根節(jié)點)。xml文檔被當(dāng)作文檔樹來解析,樹的根被稱為文檔節(jié)點或者根節(jié)點。

xPath注入的基礎(chǔ)語法有哪些

這是一份基本的xml文檔的源碼,從這份xml源碼中可以看出,bookstore為文檔節(jié)點(根節(jié)點),book、title、author、year、price是元素節(jié)點。其中book節(jié)點擁有四個子元素節(jié)點:title、author、year、price,title節(jié)點有三個同胞:author、year、price。title這個元素節(jié)點擁有一個屬性和文本節(jié)點,屬性節(jié)點是lang,值為en,文本節(jié)點的值是HarryPotter。

下面還有一些xml節(jié)點關(guān)系的描述(類似于數(shù)據(jù)結(jié)構(gòu)中的樹):

父:book節(jié)點的父為bookstore,book節(jié)點是title、author、year、price節(jié)點的父。(每個節(jié)點只能有一個父)。

子:book是bookstore的子,book節(jié)點的子是title、author、year、price的子。

(元素節(jié)點可以有零個、一個或者多個子)。

同胞:擁有相同父的節(jié)點,類似于樹結(jié)構(gòu)的兄弟節(jié)點,title的同胞是author、year、price。(節(jié)點可以有零個、一個或者多個同胞)。

先輩:節(jié)點的父、父的父、父的父的父(無限循環(huán)),title元素節(jié)點的先輩就是book、bookstore。

后代:節(jié)點的子、子的子、子的子的子(無線循環(huán)),bookstore文檔節(jié)點的后代就是book、title、author、year、price、lang。

知道了xml的節(jié)點關(guān)系還不夠,還需要知道它是如何進(jìn)行查詢的,xPath通過路徑表達(dá)式來選取文檔中的節(jié)點或者節(jié)點集。節(jié)點是沿著路徑或者步來選取的。

xPath注入的基礎(chǔ)語法有哪些

XPath 使用路徑表達(dá)式在 XML 文檔中選取節(jié)點。節(jié)點是通過沿著路徑或者 step 來選取的。 下面列出了最有用的路徑表達(dá)式:

nodename:選取此節(jié)點的所有接待你

/:從根節(jié)點選取

//:從匹配選擇的當(dāng)前節(jié)點選擇文檔中的節(jié)點,而不考慮它們的位置

.:選取當(dāng)前節(jié)點

..:選取當(dāng)前節(jié)點的父節(jié)點

@:選取屬性

下面直接來通過js使用xpath查詢語法來進(jìn)行查詢

首先寫一份關(guān)于xpath調(diào)用的html(調(diào)用的代碼寫到j(luò)s中)文件模板,然后準(zhǔn)備好一份xml文件用來查詢。

js模板的源代碼如下:

https://www.runoob.com/try/try.php?filename=try_xpath_select_cdnodes

挨個看一下這份html文件中的js代碼(因為只有js代碼)

xPath注入的基礎(chǔ)語法有哪些

這是js的一個異步調(diào)用函數(shù),重要的代碼在第15行和第17行,第15行由函數(shù)傳入的dname函數(shù)是xml的路徑,第17行返回得到的xml文件。

xPath注入的基礎(chǔ)語法有哪些

再看第20行,xml變量獲得loadXMLDOC函數(shù)執(zhí)行得到的xml文件。21行path變量為xpath的查詢語法。第一個if語句,判斷是否是IE6及以下瀏覽器,如果是IE6或以下瀏覽器,獲得對應(yīng)的查詢的到的節(jié)點數(shù)組之后,將數(shù)組中的值遍歷輸出到頁面中。

xPath注入的基礎(chǔ)語法有哪些

第二個if語句對于非IE6及以下瀏覽器,執(zhí)行的過程一樣,只是語法稍有不同,非IE6及以下瀏覽器通過evaluate函數(shù)進(jìn)行查詢,格式基本固定,實踐一下剛才的幾個語法。

查詢語法的替換只需要修改path的值就行。

xPath注入的基礎(chǔ)語法有哪些

先列出需要查詢的語法:

注:假如路徑起始于正斜杠( / ),則此路徑始終代表到某元素的絕對路徑!

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

/bookstore:選取根元素 bookstore。

bookstore/book:選取屬于 bookstore 的子元素的所有 book 元素。

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

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

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

但是只有這些單個的查詢有的還不能得到想要的查詢結(jié)果,需要將它們還有其他的查詢語法組合起來才可以。以下是需要配合的一些語法:

謂語(用方括號,為了得到更精確的查詢結(jié)果):

/bookstore/book[1]:選取屬于 bookstore 子元素的第一個 book 元素。

/bookstore/book[last()]:選取屬于 bookstore 子元素的最后一個 book 元素。

/bookstore/book[last()-1]:選取屬于 bookstore 子元素的倒數(shù)第二個 book 元素。

/bookstore/book[position()<3]:選取最前面的兩個屬于 bookstore 元素的子元素的 book 元素。

//title[@lang]:選取所有擁有名為 lang 的屬性的 title 元素。

//title[@lang='eng']:選取所有 title 元素,且這些元素?fù)碛兄禐?eng 的 lang 屬性。

/bookstore/book[price>35.00]:選取 bookstore 元素的所有 book 元素,且其中的 price 元素的值須大于 35.00。

/bookstore/book[price>35.00]/title:選取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值須大于 35.00。

選取未知節(jié)點:

*:匹配任何元素節(jié)點。

@*:匹配任何屬性節(jié)點。

node():匹配任何類型的節(jié)點。

例如:

/bookstore/*:選取 bookstore 元素的所有子元素。

//*:選取文檔中的所有元素。

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

選取若干路徑:

//book/title | //book/price:選取 book 元素的所有 title 和price 元素。

//title | //price:選取文檔中的所有 title 和 price 元素。

/bookstore/book/title | //price:選取屬于 bookstore 元素的 book 元素的所有 title 元素,以及文檔中所有的 price 元素

看幾個查詢的例子:

查詢第二個book的title值:/bookstore/book[1]/title

xPath注入的基礎(chǔ)語法有哪些

查詢所有book的title的值:/bookstore/book//title

xPath注入的基礎(chǔ)語法有哪些

查詢所有帶lang屬性的title的值:/bookstore/book//title[@lang]

 xPath注入的基礎(chǔ)語法有哪些

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“xPath注入的基礎(chǔ)語法有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

網(wǎng)頁題目:xPath注入的基礎(chǔ)語法有哪些
當(dāng)前地址:http://jinyejixie.com/article0/ijgsio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化定制開發(fā)、微信小程序、外貿(mào)建站、網(wǎng)站收錄手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
大渡口区| 泗阳县| 鲁甸县| 怀安县| 鄂尔多斯市| 灵丘县| 肇州县| 新巴尔虎左旗| 昭平县| 冷水江市| 岳普湖县| 南漳县| 庄浪县| 曲阜市| 德格县| 盐边县| 剑阁县| 社会| 化州市| 娱乐| 巢湖市| 正安县| 高阳县| 珲春市| 象州县| 自治县| 运城市| 凤山市| 黎城县| 鄂伦春自治旗| 五指山市| 威信县| 宝丰县| 平塘县| 九江市| 嘉定区| 甘孜| 水富县| 临高县| 吉安市| 客服|