【发布时间】:2015-12-03 12:59:46
【问题描述】:
这是我的 xml,首先我需要检查 'RecordsEntries' 不应为 'null',然后 RecordEntry 不应为 null 后跟映射代码
<?xml version="1.0" encoding="UTF-8"?>
<Records>
<storenumber />
<calculated>false</calculated>
<subTotal>12</subTotal>
<RecordsEntries>
<RecordEntry>
<deliverycharge>30.0</deliverycharge>
<entryNumber>8</entryNumber>
<Value>true</Value>
</RecordEntry>
<RecordEntry>
<deliverycharge>20.0</deliverycharge>
<entryNumber>7</entryNumber>
<Value>false</Value>
</RecordEntry>
</RecordsEntries>
<RecordsEntries>
<RecordEntry>
<deliverycharge>30.0</deliverycharge>
<entryNumber>8</entryNumber>
<Value>false</Value>
</RecordEntry>
</RecordsEntries>
</Records>
尝试了多个场景,也使用了when 条件检查,但某处缺少括号或格式正确
orders: {
order: {
StoreID: payload.Records.storenumber,
Total: payload.Records.calculated,
(( payload.Records.RecordsEntries.*RecordEntry ) map {
IndividualEntry: {
Number:$.entryNumber,
DeliverCharge:$.deliverycharge
}
} when ( payload.Records.RecordsEntries != null and payload.Records.RecordsEntries.*RecordEntry !=null))}
}
出现错误,例如缺少 )。通过直接检查第一个循环内的空条件来尝试其他方法,得到错误,如“无法将数组强制转换为布尔值”。请建议。谢谢。
【问题讨论】:
标签: mule mule-studio mule-component mule-el