2010-03-18 6 views
26

Existe-t-il un moyen d'écrire une expression XPath pour sélectionner le contenu de l'élément.Dans XPath, comment sélectionner le contenu de l'élément

par exemple.

<Element>xxx</Element> 

En supposant que je peux écrire XPath (/ Element) pour obtenir Element comment puis-je ajuster les XPath pour obtenir xxxx revins plutôt que l'emballage Element?

EDIT/RÉPONSE

Pour ce faire, dans le monde dom4j utiliser le Element.valueOf(String xpathExpression) plutôt que les méthodes .selectXXX().

Répondre

37

Utilisez l'élément value-of:

<xsl:value-of select="/Some/Path/To/Element"/> 

Si vous ne pouvez spécifier un XPath puis utilisez la fonction text comme ceci:

/Some/Path/To/Element/text()

+0

Merci, mais je veux juste une expression XPath. Je n'utilise pas XSLT, juste dom4j avec jaxen dans le code Java. –

+0

@Mike Q: Ah je vois, j'ai édité ma réponse pour refléter cela. –

+0

Ah, il se trouve dans dom4j que text() retourne un élément DefaultText. Cependant, j'ai trouvé une fonction dans dom4j appelée valueOf (XPath xpath) qui fait exactement ce que votre premier exemple fait (représentation sous forme de chaîne de résultat XPath), ce qui a bien fonctionné. Merci encore. –

1

Un peu trop tard, mais. ..

data(Element) 

... devrait également être bon.

Questions connexes