具有相同属性名称的xml元素被覆盖

时间:2018-11-20 21:21:59

标签: mule mule-studio dataweave mule-el mule-esb

My XML Structure looks like below:-   
<element>
 <note nom="Rock" >Roll</note>
 <note nom="Bands" >
   <note nom="Unit" >jayz<note>
   <note nom="Unit" >eminem<note>
   <note nom="Unit" >drake<note>
 </note>
</element>

转换后,我只能保留最后一个单位值Drake。在转换期间,前两个单位值将被覆盖。

Need help with the dataweave transformation (XML to JAVA) 

1 个答案:

答案 0 :(得分:1)

是的,尽管您可以手动映射属性,但是当前这些属性正在丢失。

payload.notes.*note map ((note, index) -> {
    (note: note) if note != null,
    (note.@)
})

将此xml作为输入

<notes>
  <note nom="Rock" >Roll</note>
  <note nom="Bands"/>
  <note nom="Unit" >jayz</note>
  <note nom="Unit" >eminem</note>
  <note nom="Unit" >drake</note>
</notes>

已经说过,在下一个发行版中将有一个新的writer标志,以使json writer和java writer保留属性