程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 關於selectNodes與selectSingleNode的用法的區別

關於selectNodes與selectSingleNode的用法的區別

編輯:C#入門知識

今天在網上看到一個關於selectNodes與selectSingleNode的用法的區別。

由於之前沒有特別在意,因而今日看見是很是驚異。特復制過來,供大家一起學習!

其中文中提到了最重要的區別是在運用操作後的變化。

selectnodes: selectNodes和ChildNodes獲取XML內容數組的差異性

我們在使用XML進行查詢或者變更數據的時候,需要注意兩個很相近但結果相差很大的用法,如下:

1: XmlDocument doc = new XmlDocument();

2: Doc.loadXml(strXml);

3: XmlNodeList xnlListOne = doc.selectNodes(“//Nodes/Node”);

4: XmlNodeList xnlListTwo = doc.selectSingleNode(“//Nodes”).ChildNodes;

乍一看,xnlListOne和xnlListTwo都是獲取當前Xml文檔中的Node數組,如果我們沒有變動該Xml文檔,則兩者沒有任何不同,但是一旦我們在後面的操作中添加或者刪除了其中的Node節點的話,情況就不一樣了,變動後,當我們使用我們前面獲取的xnlListOne和xnlListTwo進行遍歷操作的時候,我們會發現,前者不會有任何變動,而後者會根據文檔內容的變動而實時更新!

這個特性在前台頁面的腳本中也會有所出現,例如div嵌套時,獲取其嵌套子div時候,使用ChildNodes來獲取也會實時更新,這個特性是因為他們都是通過指針指向操作其內容的,其內部應該伴隨這一次遍歷操作,而獲取的結果數組是一次計算後的結果,已經通過開辟新內存的方式進行存儲,故而不會受到影響,當然,我們也可以通過這個特性來做一些特別的功能。

    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved