问题描述
我有以下输入
{
"array": [
{
"name": "value1"
},{
"name": "value2"
},{
"name": "value3"
}
]
}
并希望得到以下输出
<a>
<b />
<c>value1</c>
<c>value2</c>
<c>value3</c>
</a>
我能得到的最接近的是这个
<a>
<b>
<c>value1</c>
<c>value2</c>
<c>value3</c>
</b>
</a>
使用这个数据编织
%dw 2.0
output application/xml writeDeclaration=false
---
a: b: (payload.*array map {c: $.name})
感谢您的任何帮助
还有额外的点......如果有人可以帮助使用上面的示例json有效负载生成以下内容
<a>
<b />
<c>value1</c>
<d>e</d>
<c>value2</c>
<d>e</d>
<c>value3</c>
<d>e</d>
</a>
解决方法
试试这个方法:
脚本
%dw 2.0
output application/xml writeDeclaration=false
---
a : {
b: {}
}
++ {
(payload.*array map {c: $.name})
}
,
通过这种方法,您可以获得第二个预期输出:
脚本
3.6.3
输出
%dw 2.0
output xml writeDeclaration=false
---
a : {
b:''
}
++ {
(payload.array map
{
c: $.name,d:'e'
})
}