从输出中排除属性值与条件匹配的字段
Exclude fields from output whose attribute value matches to the condition
在 mule 文档 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
元素,其 key
属性值为 password
预期输出应该是
<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>
试试这个..
%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")
}
}
})
}
希望这能说明问题..
%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")
}
}
})
}
在 mule 文档 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
元素,其 key
属性值为 password
预期输出应该是
<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>
试试这个..
%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")
}
}
})
}
希望这能说明问题..
%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")
}
}
})
}