Ich hoffe, Sie haben einen schönen Tag.So erhalten Sie eine Liste von String aus Dom4j Node.selectObject oder Node.selectNodes
Die DOM4J javadoc Form Node.selectObject (String XPathExpression) sagt der folgende:
... Das zurückgegebene Objekt entweder eine Liste von einem oder mehreren Knoteninstanzen oder ein Skalar Objekt wie ein sein kann String oder eine Zahleninstanz abhängig vom XPath-Ausdruck.
aber wenn ich versuche, eine Liste von String auf diesem Stück xml zu erhalten:
<root>
...
<level1>
<property>pro1</property>
<property>pro1</property>
<property>pro1</property>
<level1>
...
</root>
mit dem folgenden Code:
List result = document.selectObject("/root/level1/property/text()")
ich eine Liste von org.dom4j bekommen. tree.DefaultText objet. Natürlich kann ich auf der Liste iterieren, aber ich möchte wissen, ob es eine Möglichkeit gibt, eine Liste von String zu bekommen.
I benutze XPath 2.0. Ich verstehe deine Antwort nicht. Selbst wenn ein Ausdruck als Ergebnis und Objekt des beschriebenen Typs ausgewertet wird, sollte Dom4j Api eine String-Liste zurückgeben, nicht wahr. – Periworks
@Periworks: Wenn Sie XML-Knoten auswählen, sollte das Ergebnis eine 'List' von' Node' von http://dom4j.sourceforge.net/dom4j-1.4/apidocs/org/dom4j/Node.html#selectObject(java) sein .lang.String). Beachten Sie auch, dass diese Methode zugunsten von 'evaluate' veraltet ist und keine Hinweise darauf vorliegen, dass eine dom4j-Schnittstelle mit einer XPath 2.0-Engine arbeiten kann –