secuencias regulares recorrer online make how expresiones ejemplos consultas con and xml xslt xpath xquery spring-el

xml - regulares - Concatenar valores de nodo mĂșltiple en xpath



xpath online (5)

Aquí viene una solución con XSLT :

<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="//element3"> <xsl:value-of select="element4/text()" />.<xsl:value-of select="element5/text()" /> </xsl:template> </xsl:stylesheet>

Tengo un XML que se parece a esto

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

Estoy tratando de usar Xpath para obtener un resultado como este:

Hello.World Hello2.World2 Hello3.World3

Usé la función concat a continuación, pero no obtuve el resultado correcto.

Función Concat:

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

Resultado que obtuve:

Hello.World

¿Cómo puedo obtener el resultado correcto? Estoy usando XPath con Camel Spring DSL.

Editar:

Las soluciones en XQuery, XSLT y SPel también son apreciadas.

Editar

Probé la combinación de cadenas y no funcionó:

función de unión de cadena:

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

Resultado que obtuve:

Hello.Hello2.Hello3.World.World2.World3


Prueba esta expresión ...

string-join(//element3/(concat(element4/text(), ''.'', element5/text())), "&#10;")


Usé el método concat y funciona bien.

concat(//SomeElement/text(),''_'',//OtherElement/text())


for $d in $doc/element2/element3 return fn:string-join(fn:data($d/element()), ".") .
$ doc almacena el Xml.


<xsl:template match="element3"> <xsl:value-of select="element4,element5" separator="."/> </xsl:template>