Mule - XML 数组只读取一个元素
Mule - XML Array only reads one element
我有一个 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>
我阅读了 XML 使用 DataWeave 将示例内容转换为数组:
#[payload.Example.*Brand]
它 returns 一个带有两个对象的 LinkedHashMap。我使用 for-each 循环读取每个 Brand 对象,结果是:
- 编号:987S
- 标志:圆形
- 项目
因此,即使品牌对象有两个 Items 对象,它也只有 returns 一个。
我该如何解决这个问题?
您应该在 Example 标签下获取所有内容。
我有一个 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>
我阅读了 XML 使用 DataWeave 将示例内容转换为数组:
#[payload.Example.*Brand]
它 returns 一个带有两个对象的 LinkedHashMap。我使用 for-each 循环读取每个 Brand 对象,结果是:
- 编号:987S
- 标志:圆形
- 项目
因此,即使品牌对象有两个 Items 对象,它也只有 returns 一个。
我该如何解决这个问题?
您应该在 Example 标签下获取所有内容。