`
- 浏览:
17043 次
- 性别:
- 来自:
深圳
-
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)
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本文将深入探讨JDOM库中XPath的相关方法——`selectNodes()`和`selectSingleNode()`,以及它们的用法。 首先,我们来理解JDOM的基本概念。JDOM是Java Document Object Model的缩写,它提供了一种基于Java的API来...
#### AJAX开发中 SELECTNODES 方法和 SELECTSINGLENODE 方法的应用 在早期的Web开发中,尤其是在使用Ajax进行数据交换时,开发者需要解析服务器返回的XML数据。为了兼容不同的浏览器,通常需要实现一些自定义的方法...
在IE浏览器中,我们可以直接使用`selectNodes()`和`selectSingleNode()`方法来选取XML文档中的多个节点或单个节点。如在示例代码中所示,`selectNodes("/resume/name")`会返回一个包含所有匹配的`<name>`元素的数组...
`selectSingleNode`是DOM4J中用于选取XML文档中匹配特定XPath表达式的节点的方法。 首先,让我们看看提供的代码片段: ```java List<Element> featureMembers = root.selectNodes("featureMember"); ``` 这段代码...
如果XPath表达式匹配的是单个节点,可以使用`selectSingleNode()`方法: ```java Element titleElement = xpath.selectSingleNode(document, "/books/book[1]/title"); System.out.println(titleElement....
C#中,可以利用`XmlNode.SelectSingleNode()`方法找到指定的XPath路径,或者`XmlNode.SelectNodes()`方法获取所有匹配的节点。 3. **XPath表达式构建**:在获取到用户选择的元素后,小工具需要根据DOM结构自动生成...
XPath,全称XML Path Language,是一种在XML文档中查找...例如,Internet Explorer支持`selectNodes()`和`selectSingleNode()`方法,而其他浏览器如Firefox、Chrome等则通常使用`document.evaluate()`来执行XPath查询。
在这个环境中,有两个重要的方法用于XPath查询:`selectSingleNode()`和`selectNodes()`。`selectSingleNode()`方法接受一个XPath表达式作为参数,返回与该表达式匹配的第一个节点。如果未找到匹配的节点,它将返回`...
在XPath中,处理命名空间需要特殊的方法。XPath默认不理解命名空间,除非我们显式地定义它们。DOM4J提供了一种方式来注册命名空间并创建相应的XPath表达式。以下是如何使用DOM4J和XPath处理命名空间的步骤: 1. **...
通过调用Element类的selectNodes或selectSingleNode方法,可以利用XPath表达式找到需要的节点。 3. DOM4J结合XPath的示例: - 寻找指定元素:`List<Element> elements = element.selectNodes("//elementName")` -...
在C#中,我们可以使用`SelectSingleNode()`方法获取单个节点,如`XmlNode node = doc.SelectSingleNode("//book[1]");` 5. 函数:XPath提供了丰富的内置函数,如`count()`, `name()`, `text()`等。例如,`//book...
同时,`SelectSingleNode()`方法用于获取单个匹配的结果。 6. 错误处理与优化: 在实际应用中,可能遇到无效的XPath表达式或HTML文档结构不规范的情况。因此,编写代码时应包含异常处理,并确保XPath表达式能正确...
XPath(XML Path Language)是一种在XML文档中查找信息的语言,它是W3C推荐的标准查询语言,主要用于选取XML文档中的节点,如元素、属性、文本等。C#是Microsoft开发的一种面向对象的编程语言,它提供了丰富的库来...
XPath(XML Path Language)是一种在XML文档中查找信息的语言,它是W3C的标准之一,用于选取XML文档中的节点,如元素、属性、文本等。C#是Microsoft开发的一种面向对象的编程语言,广泛应用于Windows应用开发,Web...
这里使用了`selectNodes()`和`selectSingleNode()`方法来进行XPath查询。 ### 总结 DOM4J是一款功能强大且易于使用的XML解析库,它通过丰富的接口为开发者提供了简便的方式来处理XML文档。同时,结合XPath查询能力...
通过XPath,我们可以精确定位到XML文档中的特定部分,然后使用XMLDOM的方法进行修改或操作。例如,可以先用XPath选取需要的元素,再调用`innerHTML`或`innerText`属性改变其内容,或者用`setAttribute`更改属性值。 ...
接着,我们创建一个XPath表达式来选择带有特定属性的`element`元素,最后通过`selectSingleNode()`方法执行查询并打印出匹配元素的文本内容。 总的来说,DOM4J结合XPath为Java开发人员提供了一套强大且易用的工具,...
2. **执行查询**:调用`selectNodes()`或`selectSingleNode()`方法,传入`Document`或`Element`对象,执行XPath表达式并返回结果集。 ```java List<Node> nodes = xpath.selectNodes(document); for (Node node : ...