2

希望你有美好的一天。

Dom4j javadoc 表单Node.selectObject(String xpathExpression)说明如下:

...返回的对象可以是一个或多个 Node 实例的列表,也可以是标量对象,如字符串或数字实例,具体取决于 XPath 表达式。

但是,当我尝试在这段 xml 上获取字符串列表时:

<root>
...
    <level1>
        <property>pro1</property>
        <property>pro1</property>
        <property>pro1</property>
    <level1>
...
</root>

使用以下代码:

List result = document.selectObject("/root/level1/property/text()")

我得到了org.dom4j.tree.DefaultText对象的列表。当然,我可以在列表上进行迭代,但我想知道是否有办法获取字符串列表。

4

1 回答 1

0

来自http://www.w3.org/TR/xpath/#section-Introduction

对表达式求值以产生一个对象,该对象具有以下四种基本类型之一:

  • 节点集(无重复节点的无序集合)
  • 布尔值(真或假)
  • 数字(浮点数)
  • 字符串(一系列 UCS 字符)

xs:string所以, XPath 1.0 中没有序列

在 XPath 2.0 中有一个序列数据类型,当然......

于 2011-01-07T18:44:13.347 回答