這篇文章將為大家詳細(xì)講解有關(guān)Xml中SelectNodes與XPath的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)技術(shù)團(tuán)隊(duì)10余年來(lái)致力于為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、成都品牌網(wǎng)站建設(shè)、成都全網(wǎng)營(yíng)銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過(guò)多年發(fā)展,公司擁有經(jīng)驗(yàn)豐富的技術(shù)團(tuán)隊(duì),先后服務(wù)、推廣了上1000家網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。XPath 是 XML 的內(nèi)容,這里 SelectNodes 是 C# 中 XmlDocument 或 XmlNode 的一個(gè)方法。SelectNodes 使用 XPath 來(lái)選取節(jié)點(diǎn)。
重要語(yǔ)法:
SelectNodes("item")
從當(dāng)前節(jié)點(diǎn)的兒子節(jié)點(diǎn)(僅限兒子,不包含孫子、重孫噢)中選擇名稱為 item 的節(jié)點(diǎn)。
SelectNodes("/item")
從根節(jié)點(diǎn)的兒子節(jié)點(diǎn)中選擇名稱為 item 的節(jié)點(diǎn)。
SelectNodes("//item")
從任意位置的節(jié)點(diǎn)上選擇名稱為 item 的節(jié)點(diǎn)。要重點(diǎn)突出這個(gè)任意位置,它不受當(dāng)前節(jié)點(diǎn)的影響,也就是說(shuō)假如當(dāng)前節(jié)點(diǎn)是在第 100 層(有點(diǎn)夸張),也可以選擇第一層的名稱為 item 的節(jié)點(diǎn)。
SelectNodes(".")
選擇當(dāng)前節(jié)點(diǎn)。
SelectNodes("..")
選擇當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。
SelectNodes("//item[@name]")
在 SelectNodes("//item") 的基礎(chǔ)上,增加了一個(gè)限制,就是要求擁有 name 屬性。
SelectNodes("//item[@name='111']")
在 SelectNodes("//item[@name]") 的基礎(chǔ)上,增加了一個(gè)限制,就是要求 name 屬性值為 111。注意語(yǔ)法中有引號(hào);如果沒有引號(hào),則表示是數(shù)字類型,對(duì)于數(shù)字類型可以使用大于號(hào)、小于號(hào)等,比如:SelectNodes("//item[@v>333]")。
SelectNodes("//item[1]")
選擇第一個(gè) item,注意是第一個(gè),不是第二個(gè)。還有這里是指親兄弟間的第一個(gè) item,也就是說(shuō):父級(jí)若有三個(gè) item,則選擇第一個(gè);若父級(jí)第二個(gè) item 的有兩個(gè)名稱同樣為 item 的兒子,則第一個(gè)兒子會(huì)被選擇出來(lái);若父級(jí)第三個(gè) item 的也有兩個(gè)名稱同樣為 item 的兒子,則第一個(gè)兒子也會(huì)被選擇出來(lái)……
SelectNodes("//item[last()-1]")
倒數(shù)第二個(gè)節(jié)點(diǎn),同樣是指親兄弟間的倒數(shù)第二個(gè)。
SelectNodes("//item[position()<=2]")
位置為第一和第二的節(jié)點(diǎn)(第一個(gè)節(jié)點(diǎn)的 position() 為 1),同樣是指親兄弟間的位置。
SelectNodes("//@name")
SelectNodes("/root/item/@name") 取 item 的 name 屬性
選擇 name 屬性,注意這下選擇的是屬性,而不是節(jié)點(diǎn)了。用 Value 屬性獲取屬性集合的屬性值。
SelectNodes("/root/item")
根節(jié)點(diǎn) root 下的 item 兒子節(jié)點(diǎn)。
SelectNodes("/root//item")
根節(jié)點(diǎn) root 下的不管是兒子、孫子、重孫子……,只要是名稱為 item 的統(tǒng)統(tǒng)選取出來(lái)。
通配符:
可用 * 表示任意節(jié)點(diǎn)名稱,比如 SelectNodes("/channel/*/item");
用 @* 表示任意屬性;
用 node() 表示任意類型的節(jié)點(diǎn);
用 text() 表示文本類型的節(jié)點(diǎn),實(shí)際上也就是表示取文本節(jié)點(diǎn)(元素節(jié)點(diǎn)下面是文本節(jié)點(diǎn),文本節(jié)點(diǎn)下面才是文字)。
運(yùn)算符:
| 表示或。SelectNodes("//item|//channel"),選擇 item 或 channel 節(jié)點(diǎn)。
關(guān)于“Xml中SelectNodes與XPath的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前文章:Xml中SelectNodes與XPath的示例分析-創(chuàng)新互聯(lián)
鏈接URL:http://jinyejixie.com/article46/dpddeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站內(nèi)鏈、云服務(wù)器、搜索引擎優(yōu)化、電子商務(wù)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容