关于selectNodes与selectSingleNode的用法的区别
今天在網(wǎng)上看到一個(gè)關(guān)于selectNodes與selectSingleNode的用法的區(qū)別。
由于之前沒有特別在意,因而今日看見是很是驚異。特復(fù)制過來,供大家一起學(xué)習(xí)!
其中文中提到了最重要的區(qū)別是在運(yùn)用操作后的變化。
selectnodes: selectNodes和ChildNodes獲取XML內(nèi)容數(shù)組的差異性
我們?cè)谑褂肵ML進(jìn)行查詢或者變更數(shù)據(jù)的時(shí)候,需要注意兩個(gè)很相近但結(jié)果相差很大的用法,如下:
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都是獲取當(dāng)前Xml文檔中的Node數(shù)組,如果我們沒有變動(dòng)該Xml文檔,則兩者沒有任何不同,但是一旦我們?cè)诤竺娴牟僮髦刑砑踊蛘邉h除了其中的Node節(jié)點(diǎn)的話,情況就不一樣了,變動(dòng)后,當(dāng)我們使用我們前面獲取的xnlListOne和xnlListTwo進(jìn)行遍歷操作的時(shí)候,我們會(huì)發(fā)現(xiàn),前者不會(huì)有任何變動(dòng),而后者會(huì)根據(jù)文檔內(nèi)容的變動(dòng)而實(shí)時(shí)更新!
這個(gè)特性在前臺(tái)頁(yè)面的腳本中也會(huì)有所出現(xiàn),例如div嵌套時(shí),獲取其嵌套子div時(shí)候,使用ChildNodes來獲取也會(huì)實(shí)時(shí)更新,這個(gè)特性是因?yàn)樗麄兌际峭ㄟ^指針指向操作其內(nèi)容的,其內(nèi)部應(yīng)該伴隨這一次遍歷操作,而獲取的結(jié)果數(shù)組是一次計(jì)算后的結(jié)果,已經(jīng)通過開辟新內(nèi)存的方式進(jìn)行存儲(chǔ),故而不會(huì)受到影響,當(dāng)然,我們也可以通過這個(gè)特性來做一些特別的功能。
http://www.cnblogs.com/xuhuan/articles/1418701.html
轉(zhuǎn)載于:https://www.cnblogs.com/binlyzhuo/archive/2010/07/01/1769353.html
總結(jié)
以上是生活随笔為你收集整理的关于selectNodes与selectSingleNode的用法的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 牛客小白月赛16练习
- 下一篇: Android开发的小技巧总结