如何从列表输出中连接DataWeave中的两个XML
属性?
我的有效载荷是:
[{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">
我尝试使用++
运算符,但它给出了像对象一样的错误。
答案 0 :(得分: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 ...
的括号会评估所附表达式,并且&#34;填充&#34; variations
的值及其结果(variation-attribute
元素数组)
注意:我将一个空字符串作为文本,因为目前无法内联关闭标记。