我有一个看起来像这样的 XML
<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>
我正在尝试使用 Xpath 来获得这样的结果:
Hello.World
Hello2.World2
Hello3.World3
我在下面使用了 concat 函数,但没有得到正确的结果。
连接函数:
concat(/element1/element2/element3/element4/text(),".", /element1/element2/element3/element5/text())
我得到的结果:
Hello.World
我怎样才能得到正确的结果? 我将 XPath 与 Camel Spring DSL 结合使用。
编辑:
XQuery、XSLT 和 SPel 中的解决方案也很受欢迎。
编辑
我尝试了 string-join 但它不起作用:
字符串连接函数:
string-join((/element1/element2/element3/element4/text(), /element1/element2/element3/element5/text()),".")
我得到的结果:
Hello.Hello2.Hello3.World.World2.World3
最佳答案
试试这个表达式...
string-join(//element3/(concat(element4/text(), '.', element5/text())), " ")
关于xml - 在 xpath 中连接多个节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996965/