使用Mule DataWeave从xml删除空标签

时间:2019-03-01 20:44:26

标签: xml tags mule mule-component dataweave

我有xml,想删除具有空值的标记。

Source:  
<wd:Worktag_Reference>
   <wd:ID wd:type="abc">RISK_STATE_GA</wd:ID>
</wd:Worktag_Reference>
<wd:Worktag_Reference>
    <wd:ID wd:type="abcd"/>
</wd:Worktag_Reference>
<wd:Worktag_Reference>
    <wd:ID wd:type="abcde">LC011</wd:ID>
</wd:Worktag_Reference>

我想要这样的输出

Result:  
<wd:Worktag_Reference>
   <wd:ID wd:type="abc">RISK_STATE_GA</wd:ID>
</wd:Worktag_Reference>
<wd:Worktag_Reference>
    <wd:ID wd:type="abcde">LC011</wd:ID>
</wd:Worktag_Reference>

2 个答案:

答案 0 :(得分:1)

您可以使用filterObject函数并删除其值为null的那些函数。同样在我的示例中,我添加了一个标记名称root,因为您的xml无效

payload.root filterObject((value,key,index)-> value.ID!= null)

答案 1 :(得分:0)

您可以在数据编织中使用skipNullOn =“ everywhere”。