借助m子文档Dataweave Reference Documentation,我能够删除其名称的文件,但是在这里我想删除其属性值与我的条件相匹配的字段。
以下是我的输入XML
。
输入XML:
<users>
<user>
<personal_information>
<first_name>Emiliano</first_name>
<middle_name>Romoaldo</middle_name>
<last_name>Lesende</last_name>
<ssn>001-08-84382</ssn>
</personal_information>
<login_information>
<info key="username">user1</info>
<info key="password">mypassword4321</info>
</login_information>
</user>
</users>
在这里,我要删除info
属性值为 password
key
元素
预期输出应为
<users>
<user>
<personal_information>
<first_name>Emiliano</first_name>
<middle_name>Romoaldo</middle_name>
<last_name>Lesende</last_name>
<ssn>001-08-84382</ssn>
</personal_information>
<login_information>
<info key="username">user1</info>
</login_information>
</user>
</users>
答案 0 :(得分:3)
尝试一下。
%dw 2.0
output application/xml inlineCloseOn="empty"
---
users: {
(payload.users mapObject {
user: {
personal_information: $.personal_information,
login_information: $.login_information mapObject {
(($$) : $) if($$.@key != "password")
}
}
})
}
答案 1 :(得分:0)
希望这很清楚。
%dw 2.0
output application/xml inlineCloseOn="empty"
---
users: {
(payload.users mapObject {
user: {
personal_information: $.personal_information,
login_information: $.login_information mapObject(value,key,index) -> {
((key) : value) if(key.@key != "password")
}
}
})
}