root.elements和root.selectNodes的区别
时间: 2024-05-14 15:13:16 浏览: 86
dom4j.doc技术文档 教程
root.elements和root.selectNodes都是用于获取XML文件中的某个节点或节点集合的方法,但两者之间有一些区别:
1. 返回值类型不同:root.elements 返回的是一个 Element 集合(List<Element>),而 root.selectNodes 返回的是 Node 集合(List<Node>)。
2. 用法不同:root.elements 的参数是一个 XML 元素的名称,用于获取该元素的所有子元素;而 root.selectNodes 的参数是一个 XPath 表达式,可以根据表达式的规则获取节点。
举例来说,如果我们有以下 XML 文档:
```
<root>
<person>
<name>Jack</name>
<age>30</age>
</person>
<person>
<name>Jill</name>
<age>25</age>
</person>
</root>
```
如果我们想要获取所有的 person 元素,可以分别使用以下两种方式:
1. root.elements("person") :返回一个包含所有 person 元素的 List<Element> 集合。
2. root.selectNodes("//person") :返回一个包含所有 person 元素的 List<Node> 集合,其中每个元素是一个 Node 对象,需要自行转换成 Element 类型才能获取它的子元素。
阅读全文