在 xpath 中连接多个节点值 [英] Concatenate multiple node values in xpath
本文介绍了在 xpath 中连接多个节点值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个像这样的 XML
I have a XML that looks like this
<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 来获得这样的结果:
I am trying to use Xpath to get a result like this:
Hello.World
Hello2.World2
Hello3.World3
我在下面使用了 concat 函数,但没有得到正确的结果.
I used concat function below but I did not get correct result.
连接函数:
concat(/element1/element2/element3/element4/text(),".", /element1/element2/element3/element5/text())
我得到的结果:
Hello.World
我怎样才能得到正确的结果?我在 Camel Spring DSL 中使用 XPath.
How can I get the correct result? I am using XPath with Camel Spring DSL.
还感谢 XQuery、XSLT 和 SPel 中的解决方案.
Solutions in XQuery, XSLT and SPel are also appreciated.
编辑
我尝试过字符串连接,但没有奏效:
I tried string-join and it did not work:
字符串连接函数:
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())), " ")
这篇关于在 xpath 中连接多个节点值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文