2

あなたがいい一日を送れますように。

Dom4j javadoc フォームNode.selectObject(String xpathExpression)には、次のように記載されています。

...返されるオブジェクトは、XPath 式に応じて、1 つ以上の Node インスタンスのリスト、またはStringや Number インスタンスなどのスカラー オブジェクトのいずれかになります。

ただし、この xml で String のリストを取得しようとすると、次のようになります。

<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から

式が評価されて、次の 4 つの基本型のいずれかを持つオブジェクトが生成されます。

  • node-set (重複のない順序付けられていないノードのコレクション)
  • ブール値 (true または false)
  • 数値 (浮動小数点数)
  • 文字列 (一連の UCS 文字)

xs:stringしたがって、 XPath 1.0のシーケンスはありません

もちろん、XPath 2.0にはシーケンスデータ型があります...

于 2011-01-07T18:44:13.347 に答える