[英]XML to Object MULE duplicate nodes with same name
我需要在MULE中将xml转换为java对象。
<porto>
<nome>example</nome>
<nave>
<x> a </x>
<y> b </y>
</nave>
<nave>
<x> c </x>
<y> d </y>
</nave>
</porto>
我遇到的问题是我找不到“ XML to Object”组件将双“ nave”组件保存到类中的方法。
我不能使用企业版,也不能更改xml。 我也不能使用JAXB方法。
它不起作用是因为转换创建了一个以nave作为键的Java映射,并且因为键相同,所以nave元素中的一个元素会覆盖另一个元素。 您将需要为此编写一个自定义转换器。
使用DataWeave可以编写一个简单的脚本来进行转换,但是在社区版本中不可用。
示例数据编织
%dw 1.0
%output application/java
---
porto: {
nome: payload.porto.nome,
nave: payload.porto.*nave
}
我设法在类中使用正确的注释解决了这个问题:
@XStreamImplicit
private List<Nave> nave;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.