如何在 DataWeave 中连接两个 XML 属性
How to concate two XML attributes in DataWeave
如何从列表输出中连接 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">
我尝试使用 ++
运算符,但它向对象提供类似字符串的错误。
为此,您必须编写如下内容:
%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 ...
的括号计算封闭的表达式和 "fills" variations
的值及其结果(这是一个 variation-attribute
元素的数组)
注意:我将一个空字符串作为文本,因为目前无法关闭内联标签。
如何从列表输出中连接 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">
我尝试使用 ++
运算符,但它向对象提供类似字符串的错误。
为此,您必须编写如下内容:
%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 ...
的括号计算封闭的表达式和 "fills" variations
的值及其结果(这是一个 variation-attribute
元素的数组)
注意:我将一个空字符串作为文本,因为目前无法关闭内联标签。