转载自:http://www.cftea.com/c/2010/07/8N0MHOUN27V0R3JB.asp
XPath 是 XML 的内容,这里 SelectNodes 是 C# 中 XmlDocument 或 XmlNode 的一个方法。SelectNodes 使用 XPath 来选取节点。
重要语法
SelectNodes("item")
从当前节点的儿子节点(仅限儿子,不包含孙子、重孙噢)中选择名称为 item 的节点。
SelectNodes("/item")
从根节点的儿子节点中选择名称为 item 的节点。
SelectNodes("//item")
从任意位置的节点上选择名称为 item 的节点。要重点突出这个任意位置,它不受当前节点的影响,也就是说假如当前节点是在第 100 层(有点夸张),也可以选择第一层的名称为 item 的节点。
SelectNodes(".")
选择当前节点。
SelectNodes("..")
选择当前节点的父节点。
SelectNodes("//item[@name]")
在 SelectNodes("//item") 的基础上,增加了一个限制,就是要求拥有 name 属性。
SelectNodes("//item[@name='111']")
在 SelectNodes("//item[@name]") 的基础上,增加了一个限制,就是要求 name 属性值为 111。注意语法中有引号;如果没有引号,则表示是数字类型,对于数字类型可以使用大于号、小于号等,比如:SelectNodes("//item[@v>333]")。
SelectNodes("//item[1]")
选择第一个 item,注意是第一个,不是第二个。
还有这里是指亲兄弟间的第一个 item,也就是说:父级若有三个 item,则选择第一个;若父级第二个 item 的有两个名称同样为 item 的儿子,则第一个儿子会被选择出来;若父级第三个 item 的也有两个名称同样为 item 的儿子,则第一个儿子也会被选择出来……
SelectNodes("//item[last()-1]")
倒数第二个节点,同样是指亲兄弟间的倒数第二个。
SelectNodes("//item[position()<=2]")
位置为第一和第二的节点(第一个节点的 position() 为 1),同样是指亲兄弟间的位置。
SelectNodes("//@name")
SelectNodes("/root/item/@name") 取 item 的 name 属性
选择 name 属性,注意这下选择的是属性,而不是节点了。用 Value 属性获取属性集合的属性值。
SelectNodes("/root/item")
根节点 root 下的 item 儿子节点。
SelectNodes("/root//item")
根节点 root 下的不管是儿子、孙子、重孙子……,只要是名称为 item 的统统选取出来。
通配符
可用 * 表示任意节点名称,比如 SelectNodes("/channel/*/item");
用 @* 表示任意属性;
用 node() 表示任意类型的节点;
用 text() 表示文本类型的节点,实际上也就是表示取文本节点(元素节点下面是文本节点,文本节点下面才是文字)。
运算符
| 表示或。SelectNodes("//item|//channel"),选择 item 或 channel 节点。
分享到:
相关推荐
2. `XPath.selectSingleNode()`: 与`selectNodes()`不同,这个方法只返回第一个匹配XPath表达式的节点。如果没有任何匹配的节点,它会返回`null`。这在你只需要获取单个特定节点时非常实用,避免了遍历整个结果集的...
**标题:** Dom4j 解析Xml文档及 XPath查询 学习笔记 **正文:** XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、配置存储以及文档结构化表示。在Java世界中,解析XML文档有多种库,其中Dom4j是...
在C#编程中,XPath可以与`System.Xml`命名空间中的类,如`XmlNode`, `XmlDocument`, `XPathNavigator`和`XPathExpression`等结合使用,方便地检索和操作XML数据。例如,`XmlNode.SelectNodes()`方法可以接受一个...
XPath是一种用于在XML文档中查询和定位元素与属性的强大语言。其语法类似于文件系统的路径表达式,但更灵活,允许使用模式匹配和条件筛选。通过XPath,开发者能够精确地选取XML文档中的特定部分,无论是单个节点还是...
在Dom4j中,我们可以使用`org.dom4j.XPath`类来创建XPath对象,并通过`selectNodes()`或`selectSingleNode()`方法来执行路径表达式,获取XML文档中的节点集合或单个节点。以下是一个简单的示例: ```java import ...
在JavaScript中,XPath主要应用于AJAX开发,即在客户端与服务器交互时解析返回的XML数据。例如,服务器端返回一个简单的XML响应,如 `<resume><name>朱元璋</name><age>18</age></resume>`,客户端可以通过...
DOM4J与XPath的结合使用,大大简化了XML处理的复杂度,提高了开发效率。在实际项目中,它们是处理XML数据不可或缺的工具。通过深入学习和实践,开发者可以更好地掌握XML的解析、操作和查询技术,提升项目中的数据...
### 使用JavaScript与XPath解析XML元素 #### XPATH简介 XPath是一种在XML文档中查找信息的语言。它使用路径表达式来选择节点或集合节点,并且能够处理来自XML文档的数据,为构建XSLT这样的XML应用程序提供了强有力...
XMLDOM与XPath的结合使用能极大地提高处理XML数据的效率和灵活性。通过XPath,我们可以精确定位到XML文档中的特定部分,然后使用XMLDOM的方法进行修改或操作。例如,可以先用XPath选取需要的元素,再调用`innerHTML`...
在C#中使用XPath,通常会结合.NET框架中的System.Xml命名空间,例如使用`XmlDocument`或`XDocument`类来加载XML文档,然后调用`SelectNodes`或`SelectSingleNode`方法,传入XPath表达式来获取所需节点。下面将详细...
#### 方法一:使用`SAXReader`与`elementIterator` **方法原理**: 此方法首先利用`SAXReader`读取XML文档并将其转换为`Document`对象。接着,通过调用`getRootElement()`获取根元素,再利用`elementIterator()`...
本教程将重点讨论如何使用Java库Demo4j与XPath一起工作,以解析XML文件中的路径表达式。 首先,我们需要理解XPath的基本概念。XPath使用路径表达式来选取XML文档中的节点,这些路径表达式类似于文件系统中的路径。...
C#中,可以利用`XmlNode.SelectSingleNode()`方法找到指定的XPath路径,或者`XmlNode.SelectNodes()`方法获取所有匹配的节点。 3. **XPath表达式构建**:在获取到用户选择的元素后,小工具需要根据DOM结构自动生成...
XPath的实现依赖于`jaxen-1.1.1.jar`,这是一个独立于XML解析器的XPath引擎,允许开发者在各种XML API(如DOM、DOM4J、JDOM等)之间进行XPath查询。`jaxen-1.1.1.jar`使得DOM4J能够支持XPath表达式,从而更方便地...
在Dem4j中,我们可以使用`Element`对象的`selectNodes()`方法,传入XPath表达式来获取匹配的节点集合。 对于相对路径和绝对路径的匹配原则,有以下几点关键点: 1. **`.`表示当前节点**:在XPath表达式中,`.`表示...
XPath,全称为XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来方便地选取XML文档中的节点,包括元素、属性、文本等。DOM4J是一个非常流行的Java XML API,它提供了一种高效且灵活的方式来处理XML...
在处理XML文档时,XPath(XML Path Language)作为一种强大的查询语言,能够帮助我们快速定位到XML文档中的特定节点。本教程将重点介绍如何使用Java中的Dom4J库,结合XPath来高效地操作XML。 首先,让我们了解Dom4J...
XPath 2.0保留了与1.0版本的向后兼容性,同时增强了易用性,提供了更好的字符串处理和匹配功能,并引入了对XML Schema的支持。这使得开发者可以选择具有特定类型的元素,如类型为`double`的数值元素。 XPath 2.0还...