使用mule splitter或xslt从XML中提取字段

时间:2015-02-02 12:58:17

标签: xml xslt mule esb

下面是我的输入XML我想按行吐出XML:

<root>
  <row>
    <Product>abc</Product>
    <price>20</price>
    <discount>10%</discount>
  </row>
  <row>
    <Product>def</Product>
    <price>120</price>
    <discount>11%</discount>
  </row>
  <row>
    <Product>ghi</Product>
    <price>210</price>
    <discount>5%</discount>
  </row>
</root>

输出XML应如下所示:

第一个XML

<trx>
    <Product>abc</Product>
    <discount>10%</discount>
</trx>

第二个XML

<trx>
    <Product>def</Product>
    <discount>11%</discount>
</trx>

等等。

我是否必须使用splitter或xslt来实现这一目标的xslt代码。我需要更改根名称,并从原始XML中删除字段价格

1 个答案:

答案 0 :(得分:1)

我发现的最好方法是使用分割器,然后使用数据映射器来更改结构。 所以我首先使用分割器并使用xpath我接受了行

#[xpath('/root/*')]

然后我使用数据映射器将其更改为我想要的格式