如何在mule中的dataweave中将地图写入地图内

时间:2016-04-28 11:14:06

标签: mule mule-component mule-el dataweave

如何在mule中的dataweave中编写地图内的地图。 从XML转换为CSV时的示例。

2 个答案:

答案 0 :(得分:0)

您可以添加任何样本输入,以便我们建议更好吗?

通常,只要要迭代的对象是集合,就可以嵌套map。但请记住,对于CSV,您不能在输出中使用嵌套属性。

答案 1 :(得分:0)

使用基于D的拆分器并将ID存储在流变量中并使用setpayload在拆分器内部并使用名称映射Id并使用收集器来收集所有结果。参见下面的示例我没有进行数据编译转换但我已经给出了你是一个高层次的想法

<flow name="sampleFlow">
        <http:listener config-ref="" path="/" doc:name="HTTP"/>
        <set-variable variableName="originalPayload" value="#[payload]" doc:name="Variable"/>
        <splitter expression="#[xpath3('/Root/A/C/D')]" doc:name="Splitter"/>
        <set-variable variableName="storeId" value="#[xpath3('/id')]" doc:name="Variable"/>
        <set-payload value="#[flowVars.originalPayload]" doc:name="Set Payload"/>
        <dw:transform-message doc:name="Transform Message">
            <dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
{
}]]></dw:set-payload>
        </dw:transform-message>
        <collection-aggregator failOnTimeout="true" doc:name="Collection Aggregator"/>
    </flow>