Mule DataWeave - XML到json转换 - 检查XML属性是否存在

时间:2017-12-06 02:16:13

标签: mule mule-studio dataweave xml-to-json

这是我转型前的有效载荷:

Payload: <stock article_id="28932" lot_number="282779"/>

这是将xml转换为json的数据编码代码:

stockPayload: {
        articleId: payload.stock_adjustment.@article_id,
        lotNumber: payload.stock_adjustment.@lot_number,
        uom: payload.stock_adjustment.@uom,
    }

现在 uom 是一个可选字段,因此有时它不会出现在xml属性中。由于未找到uom属性,此转换当前正在抛出映射错误。

如何让dataweave转换,即使属性不在xml中?

1 个答案:

答案 0 :(得分:0)

  • 用于XML到JSON的转换

,您可以尝试以下:

Skip Null On

每当输出为XML或JSON类型且其元素或属性中包含空值时,您可以指定是否生成包含带&#34; null&#34;的字段的出站消息。值,或者是否完全忽略这些字段。这可以通过名为skipNullOn的输出指令中的属性来设置,该属性可以设置为三个不同的值:元素,属性或无处不在。

%output application/xml skipNullOn="everywhere"

设置为:

元素:忽略键值:具有空值的值对。

属性:跳过具有空值的XML属性。

无处不在:将此规则应用于元素和属性。

参考以下链接了解更多详情,

DWL reference