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

Grouping the message based on one field in mule data weaver

我有一个要求,我想根据类别='E' 过滤传入的消息。因此,如果类别 = '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 实现这个

在 dataweave 脚本中使用过滤器作为

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

希望这对您有所帮助..