在 xpath 中连接多个节点值 [英] Concatenate multiple node values in xpath

查看:68
本文介绍了在 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())), "&#10;")

这篇关于在 xpath 中连接多个节点值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆