Mule 将数组追加到xml对象

Mule 将数组追加到xml对象,mule,dataweave,anypoint-studio,mulesoft,Mule,Dataweave,Anypoint Studio,Mulesoft,我有以下的意见 { "array": [ { "name": "value1" }, { "name": "value2" }, { "name": "value3" } ]

我有以下的意见

{
    "array": [
        {
            "name": "value1"
        },
        {
            "name": "value2"
        },
        {
            "name": "value3"
        }
    ]
}
并希望得到以下输出

<a>
    <b />
    <c>value1</c>   
    <c>value2</c>   
    <c>value3</c>    
</a>
谢谢你的帮助

还有额外的分数。。如果有人可以使用上面的示例json负载帮助生成以下内容

<a>
    <b />
    <c>value1</c>
    <d>e</d>    
    <c>value2</c>
    <d>e</d>        
    <c>value3</c>
    <d>e</d>         
</a>

价值1
E
价值2
E
价值3
E

尝试以下方法:

脚本

%dw 2.0
output application/xml writeDeclaration=false
---

a : { 
 b: {}
}
 ++ {
  (payload.*array map {c: $.name})
 }

使用此方法,您可以获得第二个预期输出:

剧本 输出

价值1
E
价值2
E
价值3
E

谢谢你,萨利姆,感谢你的帮助!
<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})
 }


    %dw 2.0
    output xml writeDeclaration=false
    ---

    a : { 
    b:''
    }
    ++ {
    (payload.array map 
    {
      c: $.name,
      d:'e'
    })
    }

<a>
  <b/>
  <c>value1</c>
  <d>e</d>
  <c>value2</c>
  <d>e</d>
  <c>value3</c>
  <d>e</d>
</a>