【问题标题】:Mule iterate over xpath resultMule 遍历 xpath 结果
【发布时间】:2015-05-20 21:48:53
【问题描述】:

我已将以下 xml 设置为 payload,以便使用 splitter 组件迭代每个产品。

<root>
    <product>
        <id>1</id>
        <name>apple</name>
    </product>
    <product>
        <id>2</id>
        <name>orange</name>
    </product>
</root>

<splitter expression="#[xpath('//product')]" />

splitter 组件返回一个 org.dom4j.tree.DefaultElement 类型的对象,我在该对象上调用方法 asXML() 来获取单个产品的 xml。

第一次迭代

<product>
    <id>1</id>
    <name>apple</name>
</product>

第二次迭代

<product>
    <id>2</id>
    <name>orange</name>
</product>

我需要将splitter 替换为foreach 组件,但我遇到了一些麻烦。

<foreach collection="#[xpath('//product')]">
    ...
</foreach>

foreach 组件返回一个 org.apache.xerces.dom.ElementNSImpl 类型的对象,它没有方法 asXML()。 知道如何将 products'xml 设为String,如第一个示例中所述吗?

感谢您的建议!

【问题讨论】:

  • 这些类型是否可以强制转换?

标签: java xpath mule


【解决方案1】:

使用 Mule 的dom-to-xml-transformer

参考:http://www.mulesoft.org/documentation/display/current/DomToXml+Transformer

【讨论】:

    猜你喜欢
    • 2015-02-09
    • 2010-11-16
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多