【发布时间】:2019-09-09 03:27:28
【问题描述】:
我有一个XML payload,其中包含以下示例:
<Example>
<Brand>
<Id>987S</Id>
<logo>circle</logo>
<Item>
<Name>cologne1</Name>
<Item>
<Name>Bosque</Name>
</Item>
</Item>
<Item>
<Name>t-Shirt</Name>
</Item>
</Brand>
<Brand>
<Id>877823C</Id>
<logo>circle</logo>
<Item>
<Name>t-Shirt2</Name>
<Item>
<Name>t-Shirt black</Name>
<Item>
<Name>t-Shirt black with logo</Name>
</Item>
</Item>
</Item>
</Brand>
</Example>
我使用 DataWeave 读取 XML 以将示例内容转换为数组:
#[payload.Example.*Brand]
它返回一个带有两个对象的 LinkedHashMap。我使用 for-each 循环并读取每个 Brand 对象,结果是:
- 编号:987S
- 标志:圆圈
- 项目
因此,即使品牌对象有两个 Items 对象,它也只会返回一个。
我该如何解决这个问题?
【问题讨论】: