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 对象,结果是:

因此,即使品牌对象有两个 Items 对象,它也只有 returns 一个

我该如何解决这个问题?

您应该在 Example 标签下获取所有内容。