Reputation: 223
I have a requirement where I want to filter the incoming message based on the category='E'. So if the category = 'I', it should be trimmed off the message.
<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>
Could you please how to achieve this by mule dataweaver
Upvotes: 0
Views: 107
Reputation: 2415
Use filter in dataweave script as
%dw 1.0
%output application/xml
---
{DataSet : payload.DataSet.*SubDataSet filter ($.Category == "E")}
Hope this helps..
Upvotes: 1