基于mule数据编织器中的一个字段对消息进行分组

时间:2016-05-27 04:47:42

标签: mule dataweave

我有一个要求,我想根据category ='E'过滤传入的消息。因此,如果category ='I',则应该删除该消息。

样本输入

<DataSet>
    <SubDataSet>
        <DataNum>TEXU9022186</DataNum>
        <Category>E</Category>                             
    </SubDataSet>
    <SubDataSet>
        <DataNum>TEXU9022186T</DataNum>
        <Category>I</Category>                                  
    </SubDataSet>
    <SubDataSet>
        <DataNum>TEXU9022186T</DataNum>
        <Category>E</Category>
    </SubDataSet>
</DataSet>

样本输出

<DataSet>
    <SubDataSet>
        <DataNum>TEXU9022186</DataNum>
        <Category>E</Category>                             
    </SubDataSet>
    <SubDataSet>
        <DataNum>TEXU9022186T</DataNum>
        <Category>E</Category>                                  
    </SubDataSet>
</DataSet>

请问如何通过mule dataweaver实现这一目标

1 个答案:

答案 0 :(得分:1)

在dataweave脚本中使用过滤器

%dw 1.0
%output application/xml
---
{DataSet : payload.DataSet.*SubDataSet filter ($.Category == "E")}

希望这会有所帮助..

相关问题