Dataweave XML 到 XML 映射

Dataweave XML to XML mapping

我的输入XML:

<Orders>
<Order><sample att="a1">b1</sample></Order>
<Order><sample att="a2">b2</sample></Order>
<Order><sample att="a3">b3</sample></Order>
.
.
.
.
</Orders>

我的要求:

<Orders>
<Order><sample>a1||b1</sample></Order>
<Order><sample>a2||b2</sample></Order>
<Order><sample>a3||b3</sample></Order>
.
.
.
.
</Orders>

我需要在 dataweave 组件 中实现这一点。我在 datamapper 中也尝试过使用一些 Rules 选项但没有结果。所以,请帮助我。我需要在数据编织组件中实现这一点。带语法的代码片段会很有帮助。

查看此处的示例和文档:http://mulesoft.github.io/data-weave/#_xml_to_json

它为您提供了有关如何访问 xml 属性和元素等的示例。这是适用于您的场景的可能的 Dataweave 脚本

%dw 0.1
%input payload application/xml
%output application/xml
---
Orders: { (payload.Orders.*Order map {
     Order: {
        sample: $.@att ++ "||" ++ $.sample,
      }
 }) }

你可以使用这个:

%dw 0.1
%input payload application/xml
%output application/xml
---
Orders: { 
    (payload.Orders.*Order map {
        Order: {
           sample: $.@att ++ "||" ++ $.sample,
              }
        }
    ) 
}