如何解决检查XML元素是否具有xsi:nil =“ true”
我有一个元素<ABC xsi:nil="true">
。我想在dataweave 2.0中编写一个条件来检查此xsi:nil的值,如果它等于“ true”,我想在JSON中转换为"ABC": null
,则在其中使用skipNullOn =“ everywhere”脚本。我尝试使用payload.ABC.@nil == "true"
,但它给出的是null
解决方法
这可能有帮助。
%dw 2.0
output application/json skipNullOn="everywhere"
fun replaceElementAndAttribute(value:Any,name: String,newValue: Any) = do {
value match {
case obj is Object -> obj mapObject ((value,key,index) ->
if(key.@nil ~= "true")
(key): "null"
else
(key) @((replaceElementAndAttribute(key.@,name,newValue))): replaceElementAndAttribute(value,newValue)
)
else -> value
}
}
---
replaceElementAndAttribute(payload,"","")
这类似于所提到的here。
但是,通过此递归函数,它将以“ null”字符串的形式输出值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。