Concaténer plusieurs valeurs de nœud dans xpath

J'ai un XML qui ressemble à ce

<element1>
    <element2>
        <element3>    
            <element4>Hello</element4>
            <element5>World</element5>
        </element3>
        <element3>    
            <element4>Hello2</element4>
            <element5>World2</element5>
        </element3>
        <element3>    
            <element4>Hello3</element4>
            <element5>World3</element5>
        </element3>
    </element2>
</element1>

Je suis en train d'utiliser Xpath pour obtenir un résultat comme ceci:

Hello.World
Hello2.World2
Hello3.World3

J'ai utilisé la fonction concat ci-dessous, mais je ne reçois pas de résultat correct.

Fonction Concat:

concat(/element1/element2/element3/element4/text(),".", /element1/element2/element3/element5/text())

Résultat que j'ai obtenu:

Hello.World

Comment puis-je obtenir le résultat correct?
Je suis à l'aide de XPath avec Camel Spring DSL.

Edit:

Solutions en XQuery, XSLT et SPel sont également appréciés.

Modifier

J'ai essayé de chaîne rejoindre et il ne fonctionne pas:

chaîne-fonction join:

string-join((/element1/element2/element3/element4/text(), /element1/element2/element3/element5/text()),".")

Résultat que j'ai obtenu:

Hello.Hello2.Hello3.World.World2.World3
  • Dans XPath2.0 il n'y a string-join, semble plus approprié de là.. Cependant, ce qui est bien avec XSLT? Je voudrais l'utiliser ici.
  • Ajouté pour la chaîne-fonction join. Également ajouté XSLT pour les balises et a demandé solution.
  • Pour comprendre pourquoi vous obtenez ce résultat: Un node-set est converti en une chaîne de caractères par le retour de la chaîne de valeur du nœud dans le node-set est le premier dans l'ordre du document.
InformationsquelleAutor krishna2642 | 2014-02-24