我需要在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方法。

#1楼 票数:0

它不起作用是因为转换创建了一个以nave作为键的Java映射,并且因为键相同,所以nave元素中的一个元素会覆盖另一个元素。 您将需要为此编写一个自定义转换器。

使用DataWeave可以编写一个简单的脚本来进行转换,但是在社区版本中不可用。

示例数据编织

%dw 1.0
%output application/java
---
porto: { 
    nome: payload.porto.nome,
    nave: payload.porto.*nave
}

#2楼 票数:0 已采纳

我设法在类中使用正确的注释解决了这个问题:

@XStreamImplicit
private List<Nave> nave;

  ask by Waxx translate from so

未解决问题?本站智能推荐:

2回复

读取具有相同名称的不同xml节点

对于以下xml 我正在尝试运行代码以遍历所有对象Student。 到目前为止,我所做的是(考虑到xmldoc是我的xmlDocuemtn变量) 发生的情况是,如果有两个名为Student的节点,则只有第一个学生姓名两次,如果有三个名为Student。的节点,则第三个学生姓名将为第一个
1回复

需要使用具有相同名称的子节点迭代xml

我有一个xml 我必须迭代这些xml并读取值并进入Selenium Web应用程序并检查礼品卡应用量是否大于零。 If the amount applied is zero then try another card . If the amount applied is greater th
1回复

如何将不同名称的XML节点反序列化为相同的基本类型

我在网上找不到一个示例来准确解释如何配置 XmlSerializer 以按照我想要的方式反序列化 XML。 我想将此 XML 反序列化为Fruits或至少为List<Fruit> 我想象一个看起来像这样的模型 我遇到的问题是 XmlSerlization 配置和 XML 属性的某种组合。
1回复

如何将具有相同名称的节点的内部文本存储到列表中?

使用C#,我需要将Email节点的内部文本的所有数据存储到一个列表中,而Related节点的内部文本的所有数据存储到每个人的列表中。 目前,我只能将第一个“电子邮件”节点和第一个“相关”节点存储到列表中。 我得到这个: ,什么时候应该得到这个 。 如何获得正确答案? 这是
2回复

使用C#将具有相同名称的节点转换为文本

我找到了本指南,将我的xml文件转换为csv: https : //msdn.microsoft.com/en-us/library/mt693157.aspx 一切正常,直到部分节点的名称相同 如果我尝试使用 我的全文结合成一大堆字母,节点之间没有任何空格: 如果我尝试使用
1回复

使用PHP获取具有相同名称的多个XML子级

我有一个要读取的XML文件,其中提供了匹配信息。 这是文件的内容(部分内容是为了节省空间) 尝试获取“目标”信息时遇到问题。 到目前为止,我的代码是: 我困扰的部分是: 我想念什么?
1回复

如何获得具有相同名称的所有属性?

假设这是xml文件 如何从此页面获取所有图像属性? 我知道我需要使用XPath语法// @ image,但是找不到用于收集所有这些属性并将它们放在foreach中的代码。 我已经尝试过类似的方法,但是那没有用 如何从页面中获取具有相同属性名称的所有属性信息?
2回复

jQuery检索具有相同节点的XML数据

例如: 我如何获得玛丽或安妮的年龄? 我可以通过以下代码获得Ali的年龄,因为它是第一个元素: