如何在mule数据编织中访问正文和/或避免xml节点中的NULL值错误。
考虑这是我的节点:
%dw 1.0
%input payload application/xml
%output application/java
---
(payload.catalog.*product default []) map {
CatalogDetails:{
CatalogId:payload.catalog.@catalog-id
},
ProdDetails:{
product-id:$.@product-id,
mode:$.@mode,
ean:$.ean,
upc:$.upc,
min-order-quantity:$.min-order-quantity,
display-name:$.display-name,
short-description:$.short-description
},
CustValues: { (
($.custom-attributes.*custom-attribute default []) map {
(sellByUnitVal: $) when ($.@attribute-id) == "sellByUnit" ,
(VOLUMEVal: $) when ($.@attribute-id) == "VOLUME",
(UnitMeasureVal: $) when ($.@attribute-id) == "UnitMeasure"
}
) }
}
我的Dataweave代码是:
[]
第一个产品节点没有收到正文。我尝试使用默认users
,但它不起作用。我怎样才能确保它总是收到一个身体?
答案 0 :(得分:0)
您的XML示例不是您在DataWeave脚本中使用的完整且有效,缺失和upc值等。
你的解决方案可能就像检查节点的大小一样,如果它是0则用空格填充op,如果没有执行你的普通脚本。
如果您有完整的示例可以提供帮助。
答案 1 :(得分:0)
我找到了一种处理空节点的方法,因为我们可以使用filter来跳过空节点,
shadowPane
使用此方法,我们将空或非空标签控制到转换中。