`
xuhuankeven
  • 浏览: 35679 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

selectNodes和selectSingleNode的区别

阅读更多
今天在网上看到一个关于selectNodes与selectSingleNode的用法的区别。
由于之前没有特别在意,因而今日看见是很是惊异。特复制过来,供大家一起学习!
其中文中提到了最重要的区别是在运用操作后的变化。

selectnodes: selectNodes和ChildNodes获取XML内容数组的差异性
我们在使用XML进行查询或者变更数据的时候,需要注意两个很相近但结果相差很大的用法,如下:

XmlDocument doc = new XmlDocument();
Doc.loadXml(strXml);
XmlNodeList xnlListOne = doc.selectNodes(“//Nodes/Node”);
XmlNodeList xnlListTwo = doc.selectSingleNode(“//Nodes”).ChildNodes;

乍一看,xnlListOne和 xnlListTwo都是获取当前Xml文档中的Node数组,如果我们没有变动该Xml文档,则两者没有任何不同,但是一旦我们在后面的操作中添加或者删除了其中的Node节点的话,情况就不一样了,变动后,当我们使用我们前面获取的xnlListOne和xnlListTwo进行遍历操作的时候,我们会发现,前者不会有任何变动,而后者会根据文档内容的变动而实时更新!

这个特性在前台页面的脚本中也会有所出现,例如div嵌套时,获取其嵌套子div时候,使用ChildNodes来获取也会实时更新,这个特性是因为他们都是通过指针指向操作其内容的,其内部应该伴随这一次遍历操作,而获取的结果数组是一次计算后的结果,已经通过开辟新内存的方式进行存储,故而不会受到影响,当然,我们也可以通过这个特性来做一些特别的功能。
分享到:
评论

相关推荐

    JDOM中XPath.selectNodes()和XPath.selectSingleNode()用法

    本文将深入探讨JDOM库中XPath的相关方法——`selectNodes()`和`selectSingleNode()`,以及它们的用法。 首先,我们来理解JDOM的基本概念。JDOM是Java Document Object Model的缩写,它提供了一种基于Java的API来...

    XML解析器VB

    VB中,可以通过MSXML2.DOMDocument的selectNodes或selectSingleNode方法,或者System.Xml.XmlDocument的SelectNodes和SelectSingleNode方法来使用XPath。 - **修改节点**:VB可以通过DOM接口来添加、删除、修改XML...

    深入dom4j使用selectSingleNode方法报错分析

    在本文中,我们将深入探讨DOM4J库中`selectSingleNode`方法的使用,以及当该方法报错时可能的原因和解决策略。DOM4J是一个强大的Java XML API,它提供了灵活且高效的方式来处理XML文档。`selectSingleNode`是DOM4J中...

    HtmlAgilityPack

    2. **选择元素**:使用XPath表达式,通过SelectNodes或SelectSingleNode方法选取需要的元素。 3. **遍历和操作元素**:遍历选取的节点集合,对每个节点进行修改,如更改属性值、插入或删除子节点等。 4. **保存更改*...

    js中使用xpath来解析xml元素.docx

    为了兼容不同的浏览器,通常需要实现一些自定义的方法,比如 `selectNodes` 和 `selectSingleNode` 方法。 #### 通过Prototype属性解决SelectNodes方法和SelectSingleNode方法的浏览器兼容性问题 在不同的浏览器中...

    js中使用xpath来解析xml元素实用.pdf

    如果支持,就为XMLDocument和Element对象添加`selectNodes` 和 `selectSingleNode` 方法。在添加的方法中,使用了`evaluate`方法来执行XPath表达式,并获取结果。对于`selectNodes`,返回的是一个NodeSnapshot,需要...

    ASP.NET XML with C# 源代码

    例如,使用XmlDocument类可以加载XML文件,通过SelectNodes或SelectSingleNode方法查询XML节点,然后进行修改或删除操作。 在ASP.NET中,XPath和XSLT也是处理XML的关键技术。XPath是一种语言,用于在XML文档中查找...

    C#xml操作示例

    例如,通过Load方法加载XML文件,使用SelectNodes或SelectSingleNode方法查询XML节点,以及用CreateElement和AppendChild方法创建和添加新节点。 XML操作的一个关键部分是XPath(XML Path Language),它是一种用于...

    webservers

    在VB中,可以使用MSXML库(Microsoft XML Core Services)来解析和操作XML文档,例如,使用DOMDocument对象加载XML文件,然后通过SelectNodes或SelectSingleNode方法查询和修改数据。 综合以上,我们可以学习以下...

    C#简单操作XML完整示例源码__0525).rar

    XmlNode提供了一些基本操作,如SelectNodes和SelectSingleNode,用于查询XML树。 3. **XmlElement类**:代表XML文档中的元素节点。你可以使用它来创建新的元素,并设置元素的属性和子元素。 4. **XmlAttribute类**...

    dom4j 和xpath

    通过调用Element类的selectNodes或selectSingleNode方法,可以利用XPath表达式找到需要的节点。 3. DOM4J结合XPath的示例: - 寻找指定元素:`List<Element> elements = element.selectNodes("//elementName")` -...

    net操作XML.rar

    你可以通过CreateElement方法创建新的XML元素,使用AppendChild或InsertBefore方法添加或插入元素,以及SelectNodes和SelectSingleNode方法查询元素。 2. XmlSerializer类:用于将对象序列化为XML字符串,或者将XML...

    ASP.NET源码——Asp.net 操作XML 源码.zip

    例如,你可以使用Load方法加载XML文件,然后通过SelectNodes或SelectSingleNode方法使用XPath表达式查询节点,最后使用Save方法将修改后的文档保存回去。 2. **XPath和XPathNavigator**:XPath是XML Path Language...

    MSXML应用总结开发篇

    IXMLDOMNode对象提供了selectNodes和selectSingleNode方法,通过XPath表达式来查找和操作节点。XPath结合XSLT(XML Stylesheet Language Transformations)还可以实现XML文档的转换。 在实际开发中,我们还需要注意...

    asp.net操作xml 操作大全

    1. **XML的读取**:使用 XmlDocument 类,可以通过加载XML文件到内存中,然后通过 SelectNodes 或 SelectSingleNode 方法查询XML节点。XDocument 提供了更简洁的LINQ-to-XML API,通过 LINQ 查询表达式可以方便地...

    用VB操作XML的程序代码

    VB中,我们可以使用XmlNode的SelectNodes或SelectSingleNode方法,配合XPath表达式进行查询。比如,获取根节点下的所有子元素: ```vb Dim nodes As XmlNodeList = xmlDoc.DocumentElement.SelectNodes("*") For ...

    rss 在线阅读器多用户版 -ASP源码.zip

    例如,通过XMLDOM对象的load方法加载RSS feed,然后使用selectNodes或selectSingleNode方法查询XML节点,获取所需数据。 对于"多用户版"的RSS阅读器,这意味着系统需要支持用户注册、登录和个性化设置。因此,还...

    C#简单操作XML完整示例源码.rar.rar

    C#中的XmlNode类提供了SelectNodes和SelectSingleNode方法,配合XPath表达式可以快速定位到需要的元素: ```csharp XmlNodeList nodes = doc.SelectNodes("//elementName"); XmlNode node = doc.SelectSingleNode("/...

    C#操作xml增删改查

    要读取XML文档,可以使用XmlNode的SelectNodes或SelectSingleNode方法,它们接受XPath表达式作为参数,返回匹配的节点集合或单个节点。XPath是一种用于导航XML文档的语言,例如: ```csharp XmlNodeList nodes = ...

Global site tag (gtag.js) - Google Analytics