【问题标题】:Mule - XML Array only reads one elementMule - XML 数组只读取一个元素
【发布时间】: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 对象,它也只会返回一个

我该如何解决这个问题?

【问题讨论】:

    标签: arrays xml mule dataweave


    【解决方案1】:

    您应该在 Example 标记下获得所有内容。

    【讨论】:

      猜你喜欢
      • 2016-12-05
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 2014-03-25
      • 2020-04-07
      • 2015-06-24
      相关资源
      最近更新 更多