您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Xml中SelectNodes與XPath的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
XPath 是 XML 的內容,這里 SelectNodes 是 C# 中 XmlDocument 或 XmlNode 的一個方法。SelectNodes 使用 XPath 來選取節點。
重要語法:
SelectNodes("item")
從當前節點的兒子節點(僅限兒子,不包含孫子、重孫噢)中選擇名稱為 item 的節點。
SelectNodes("/item")
從根節點的兒子節點中選擇名稱為 item 的節點。
SelectNodes("//item")
從任意位置的節點上選擇名稱為 item 的節點。要重點突出這個任意位置,它不受當前節點的影響,也就是說假如當前節點是在第 100 層(有點夸張),也可以選擇第一層的名稱為 item 的節點。
SelectNodes(".")
選擇當前節點。
SelectNodes("..")
選擇當前節點的父節點。
SelectNodes("//item[@name]")
在 SelectNodes("//item") 的基礎上,增加了一個限制,就是要求擁有 name 屬性。
SelectNodes("//item[@name='111']")
在 SelectNodes("//item[@name]") 的基礎上,增加了一個限制,就是要求 name 屬性值為 111。注意語法中有引號;如果沒有引號,則表示是數字類型,對于數字類型可以使用大于號、小于號等,比如:SelectNodes("//item[@v>333]")。
SelectNodes("//item[1]")
選擇第一個 item,注意是第一個,不是第二個。還有這里是指親兄弟間的第一個 item,也就是說:父級若有三個 item,則選擇第一個;若父級第二個 item 的有兩個名稱同樣為 item 的兒子,則第一個兒子會被選擇出來;若父級第三個 item 的也有兩個名稱同樣為 item 的兒子,則第一個兒子也會被選擇出來……
SelectNodes("//item[last()-1]")
倒數第二個節點,同樣是指親兄弟間的倒數第二個。
SelectNodes("//item[position()<=2]")
位置為第一和第二的節點(第一個節點的 position() 為 1),同樣是指親兄弟間的位置。
SelectNodes("//@name")
SelectNodes("/root/item/@name") 取 item 的 name 屬性
選擇 name 屬性,注意這下選擇的是屬性,而不是節點了。用 Value 屬性獲取屬性集合的屬性值。
SelectNodes("/root/item")
根節點 root 下的 item 兒子節點。
SelectNodes("/root//item")
根節點 root 下的不管是兒子、孫子、重孫子……,只要是名稱為 item 的統統選取出來。
通配符:
可用 * 表示任意節點名稱,比如 SelectNodes("/channel/*/item");
用 @* 表示任意屬性;
用 node() 表示任意類型的節點;
用 text() 表示文本類型的節點,實際上也就是表示取文本節點(元素節點下面是文本節點,文本節點下面才是文字)。
運算符:
| 表示或。SelectNodes("//item|//channel"),選擇 item 或 channel 節點。
關于“Xml中SelectNodes與XPath的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。