使用 mule dataweave 从 xml 中删除空标签

Remove empty tags from xml using mule 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>

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

您可以使用filterObject 函数去除那些值为null 的对象。同样在我的示例中,我添加了标签名称 root,因为您的 xml 无效

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