Как получить список String из Dom4j Node.selectObject или Node.selectNodes - PullRequest
2 голосов
/ 07 января 2011

Надеюсь, у вас хороший день.

Форма Dom4j javadoc Node.selectObject (String xpathExpression) говорит следующее:

... TheВозвращаемый объект может быть списком из одного или нескольких экземпляров Node или скалярным объектом, таким как String или экземпляром Number, в зависимости от выражения 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 объект.Конечно, я могу повторить список, но я хотел бы знать, есть ли способ получить список строк.

1 Ответ

0 голосов
/ 07 января 2011

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

Выражение вычисляется для получения объект, который имеет один из следующих четыре основных типа:

  • набор узлов (неупорядоченный набор узлов без дубликатов)
  • логическое (истина или ложь)
  • число (число с плавающей запятой)
  • строка (последовательность символов UCS)

Итак, в XPath 1.0

нет последовательности xs:string.

В XPath 2.0, конечно, есть тип данных последовательности ...

...