xml - 在 xpath 中连接多个节点值

标签 xml xslt xpath xquery spring-el

我有一个看起来像这样的 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())), "&#10;")

关于xml - 在 xpath 中连接多个节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996965/

相关文章:

java - 在 Spring MVC 中使用 AXSLT 组件

python-2.7 - 如何通过 Selenium Python 点击​​某个元素

c# - 用 OpenXML 中的图像替换文本持有者

xml - 错误 : This XML file does not appear to have any style information associated with it

html - 使用 namespace 扩展 XHTML

c# - 反序列化时跳过无效值

xml - XSLT 1.0 中的分组和计数

xml - 使用 XSLT 对 XML 中相似节点的内容进行分组

Firefox 中的 xpath-locator 插件

php - xml + xpath,打印元素