这是我的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>
Run Code Online (Sandbox Code Playgroud)
尝试多个场景也使用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))}
}
Run Code Online (Sandbox Code Playgroud)
像失踪一样得到错误).通过在第一个循环内直接检查null条件来尝试其他方式得到了错误,例如"无法将数组强制转换为布尔值".请建议.谢谢.
我是Mule的新手,请指导我如何使用Mule表达式语言(MEL)在XML结构中插入新标签.需要在下面的XML结构中插入B标签
<Test>
<A>table 1</A>
<C>table 3</C>
</Test>
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我在Data Weaver中做POC.我不确定如何ns0:在整个输出xml中声明命名空间.推荐的链接:https: //developer.mulesoft.com/docs/dataweave(我已经看到了处理带命名空间1.4.3的输入xml的例子,但我正在寻找输出xml).
输入Xml:
<?xml version="1.0" encoding="UTF-8"?>
<Records>
<storenumber>12</storenumber>
<calculated>false</calculated>
<subTotal>12</subTotal>
<Records>
Run Code Online (Sandbox Code Playgroud)
预期输出xml:
<?xml version='1.0' eencoding="UTF-8" standalone="yes"?>
<ns0:orders
xmlns="ns2=urn:test.com:common:v1">
<ns0:order>
<ns0:StoreID>12</ns0:StoreID>
<ns0:Total>false</ns0:Total>
</ns0:order>
</ns0:orders>
Run Code Online (Sandbox Code Playgroud)
DataWeaver转换
%dw 1.0
%output application/xml
%var baseurl="ns2=urn:test.com:common:v1"
---
orders @(xmlns:baseurl): {
order: {
StoreID: payload.Records.storenumber,
Total: payload.Records.calculated
}
}
Run Code Online (Sandbox Code Playgroud)
我相信@(xmlns:baseurl)转型是正确的.有没有其他方法来定义它?
我有一个与 dwl 脚本变量中给出的类似方式的数据。
%dw 2.0
output application/json
var test = { "2022-10-19T10:59:00.000Z":[{"kio":"spotage"}] ,
"2022-10-17T10:59:00.000Z": [{"kio":"spotage"}] ,
"2022-10-18T10:59:00.000Z": [{"kio":"spotage"}]
}
---
test orderBy $$
Run Code Online (Sandbox Code Playgroud)
需要按 ASC 顺序按日期格式排序。得到以下响应,这是默认排序DSC。想要扭转它 ASC。尝试-$$过并[-1 to 0]尝试格式化为 LocalDateTime 检查它是否正常工作。
{
"2022-10-17T10:59:00.000Z": [
{
"kio": "spotage"
}
],
"2022-10-18T10:59:00.000Z": [
{
"kio": "spotage"
}
],
"2022-10-19T10:59:00.000Z": [
{
"kio": "spotage"
}
]
}
Run Code Online (Sandbox Code Playgroud)
期待回复如下
{
"2022-10-19T10:59:00.000Z": [
{
"kio": "spotage"
}
],
"2022-10-18T10:59:00.000Z": [
{
"kio": "spotage"
}
],
"2022-10-17T10:59:00.000Z": [
{ …Run Code Online (Sandbox Code Playgroud)