`
kira616
  • 浏览: 17043 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

selectsinglenode方法中的xpath

阅读更多
最常见的XML数据类型有:Element, Attribute,Comment, Text.
  Element, 指形如<Name>Tom<Name>的节点。它可以包括:Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference.
  Attribute, 指在<Employee id=”12345”>中的粗体部分。
  Comment,指形如:<!-- my comment --> 的节点。
  Text,指在<Name>Tom<Name>的粗体部分。
  在XML中,可以用XmlNode对象来参照各种XML数据类型。
  2.1 查询已知绝对路径的节点(集)
  objNodeList = objDoc.SelectNodes(“Company/Department/Employees/Employee”)
  或者
  objNodeList = objNode.SelectNodes(“/Company/Department/Employees/Employee”)
  以上两种方法可返回一个NodeList对象,如果要返回单个节点可使用SelectSingleNode方法,该方法如果查询到一个或多个节点,返回第一个节点;如果没有查询的任何节点返回 Nothing。例如:
  objNode = objNode.SelectSingleNode(“/Company/Department/Employees/Employee”)
  If Not (objNode is Nothing) then
   ‘- Do process
  End If
  2.2 查询已知相对路径的节点(集)
  可使用类似于文件路径的相对路径的方式来查询XML的数据
  objNode = objDoc.SelectSingleNode(“Company/Department”)
  objNodeList = objNode.SelectNodes(“../Department)
  objNode = objNode.SelectNode(“Employees/Employee”)
  2.3 查询已知元素名的节点(集)
  在使用不规则的层次文档时,由于不知道中间层次的元素名,可使用//符号来越过中间的节点,查询其子,孙或多层次下的其他所有元素。例如:
  objNodeList = objDoc.SelectNodes(“Company//Employee”)
  2.4 查询属性(attribute)节点
  以上的各种方法都返回元素(element)节点(集),返回属性(attribute),只需要采用相应的方法,在属性名前加一个@符号即可,例如:
  objNodeList = objDoc.SelectNodes(“Company/Department/Employees/Employee/@id”)
  objNodeList = objDoc.SelectNodes(“Company//@id”)

  2.5 查询Text节点
  使用text()来获取Text节点。
  objNode = objDoc.SelectSingleNode(“Company/Department/Deparmt_Name/text()”)
  2.6 查询特定条件的节点
  使用[]符号来查询特定条件的节点。例如:
  a. 返回id号为 10102的Employee节点
   objNode = objDoc.SelectSingleNode(“Company/Department/Employees/Employee[@id=’10102’]”)
  b. 返回Name为Zhang Qi的Name 节点
   objNode = objDoc.SelectSingleNode(“Company/Department/Employees/Employee/Name[text()=’Zhang Qi’]”)
  c. 返回部门含有职员22345的部门名称节点
  objNode = objDoc.SelectSingleNode("Company/Department[Employees/Employee/@id='22345']/Department_Name")
  2.7 查询多重模式的节点
  使用 | 符号可以获得多重模式的节点。例如:
  objNodeList = objDoc.SelectNodes(“Company/Department/Department_Name | Company/Department/Manager”)
  2.8 查询任意子节点
  使用*符号可以返回当前节点的所有子节点。
  objNodeList = objDoc.SelectNodes(“Company/*/Manager)
  或者
  objNodeList = objNode.ChildNodes
 
  3 XML数据的编辑
  3.1 增加一个元素的属性(attribute)节点
  Dim objNodeAttr As XmlNode
   objNodeAttr = objDoc.CreateAttribute("id", Nothing)
   objNodeAttr.InnerXml = "101"
  objNode.Attributes.Append(objNodeAttr)
  3.2 删除一个元素的属性
  objNode.Attributes.Remove(objNodeAttr)
  3.3 增加一个子元素(Element)
  Dim objNodeChild As XmlNode
  objNodeChild = objDoc.createElement_x(Nothing, "ID", Nothing)
  objNodeChild.InnerXml = "101"
  objNode.AppendChild(objNodeChild)
  3.4 删除一个子元素
  objNode.RemoveChild(objNodeChild)
  3.5 替换一个子元素
  objNOde.ReplaceChild(newChild,oldChild)
分享到:
评论

相关推荐

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

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

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

    #### AJAX开发中 SELECTNODES 方法和 SELECTSINGLENODE 方法的应用 在早期的Web开发中,尤其是在使用Ajax进行数据交换时,开发者需要解析服务器返回的XML数据。为了兼容不同的浏览器,通常需要实现一些自定义的方法...

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

    在IE浏览器中,我们可以直接使用`selectNodes()`和`selectSingleNode()`方法来选取XML文档中的多个节点或单个节点。如在示例代码中所示,`selectNodes("/resume/name")`会返回一个包含所有匹配的`&lt;name&gt;`元素的数组...

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

    `selectSingleNode`是DOM4J中用于选取XML文档中匹配特定XPath表达式的节点的方法。 首先,让我们看看提供的代码片段: ```java List&lt;Element&gt; featureMembers = root.selectNodes("featureMember"); ``` 这段代码...

    dom4j中XPath用法

    如果XPath表达式匹配的是单个节点,可以使用`selectSingleNode()`方法: ```java Element titleElement = xpath.selectSingleNode(document, "/books/book[1]/title"); System.out.println(titleElement....

    IE下获取XPATH小工具源码_xpath_

    C#中,可以利用`XmlNode.SelectSingleNode()`方法找到指定的XPath路径,或者`XmlNode.SelectNodes()`方法获取所有匹配的节点。 3. **XPath表达式构建**:在获取到用户选择的元素后,小工具需要根据DOM结构自动生成...

    JS中常用的xpath特性

    XPath,全称XML Path Language,是一种在XML文档中查找...例如,Internet Explorer支持`selectNodes()`和`selectSingleNode()`方法,而其他浏览器如Firefox、Chrome等则通常使用`document.evaluate()`来执行XPath查询。

    第31章 XPath1

    在这个环境中,有两个重要的方法用于XPath查询:`selectSingleNode()`和`selectNodes()`。`selectSingleNode()`方法接受一个XPath表达式作为参数,返回与该表达式匹配的第一个节点。如果未找到匹配的节点,它将返回`...

    XPATH读取有命名空间的节点

    在XPath中,处理命名空间需要特殊的方法。XPath默认不理解命名空间,除非我们显式地定义它们。DOM4J提供了一种方式来注册命名空间并创建相应的XPath表达式。以下是如何使用DOM4J和XPath处理命名空间的步骤: 1. **...

    dom4j 和xpath

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

    C# xpath 最新应用语法

    在C#中,我们可以使用`SelectSingleNode()`方法获取单个节点,如`XmlNode node = doc.SelectSingleNode("//book[1]");` 5. 函数:XPath提供了丰富的内置函数,如`count()`, `name()`, `text()`等。例如,`//book...

    XPath测试程序

    同时,`SelectSingleNode()`方法用于获取单个匹配的结果。 6. 错误处理与优化: 在实际应用中,可能遇到无效的XPath表达式或HTML文档结构不规范的情况。因此,编写代码时应包含异常处理,并确保XPath表达式能正确...

    XPath解析工具

    XPath(XML Path Language)是一种在XML文档中查找信息的语言,它是W3C推荐的标准查询语言,主要用于选取XML文档中的节点,如元素、属性、文本等。C#是Microsoft开发的一种面向对象的编程语言,它提供了丰富的库来...

    C# 写的测试XPath 的小工具

    XPath(XML Path Language)是一种在XML文档中查找信息的语言,它是W3C的标准之一,用于选取XML文档中的节点,如元素、属性、文本等。C#是Microsoft开发的一种面向对象的编程语言,广泛应用于Windows应用开发,Web...

    DOM4J_xpath

    这里使用了`selectNodes()`和`selectSingleNode()`方法来进行XPath查询。 ### 总结 DOM4J是一款功能强大且易于使用的XML解析库,它通过丰富的接口为开发者提供了简便的方式来处理XML文档。同时,结合XPath查询能力...

    XMLDOM对象方法手册.chm+XPath.chm

    通过XPath,我们可以精确定位到XML文档中的特定部分,然后使用XMLDOM的方法进行修改或操作。例如,可以先用XPath选取需要的元素,再调用`innerHTML`或`innerText`属性改变其内容,或者用`setAttribute`更改属性值。 ...

    dom4j用到的xpath\dom4j等一系列jar包

    接着,我们创建一个XPath表达式来选择带有特定属性的`element`元素,最后通过`selectSingleNode()`方法执行查询并打印出匹配元素的文本内容。 总的来说,DOM4J结合XPath为Java开发人员提供了一套强大且易用的工具,...

    Dom4j 解析Xml文档及 XPath查询 学习笔记

    2. **执行查询**:调用`selectNodes()`或`selectSingleNode()`方法,传入`Document`或`Element`对象,执行XPath表达式并返回结果集。 ```java List&lt;Node&gt; nodes = xpath.selectNodes(document); for (Node node : ...

Global site tag (gtag.js) - Google Analytics