0

如何XML从列表输出中连接 DataWeave 中的两个属性?

我的有效载荷是:

[{productDetails={ean=null, variation-attribute-id=Colour, attribute-id=Colour, 
attribute=System Value, varaints=123, display-name=Colour}] 

我想要一个像这样的输出:

<variation-attribute variation-attribute-id="Colour" attribute-id="Colour">

我尝试使用++运算符,但它给对象提供了类似字符串的错误。

4

1 回答 1

0

为此,您必须编写如下内容:

%dw 1.0
%output application/xml
---
variations: {
  (payload map {
    variation-attribute @(
      variation-attribute-id: $.productDetails.variation-attribute-id, 
      attribute-id: $.productDetails.attribute-id): ""
  }) 
}

(我假设variations根的元素)

在这里,对于列表 ( payload) 中的每个项目,您必须生成一个variation-attribute,因此您需要一个map操作。

属性指定如下:

<element> @(<attrName>: <attrValue>, <attrName2>: <attrValue2>, ...)

括号周围payload map ...计算封闭的表达式并用它的结果“填充”值variations(这是一个variation-attribute元素数组)

注意:我把一个空字符串作为文本,因为目前没有办法关闭内联标签。

于 2015-09-28T13:08:06.287 回答