0

XMLリスト出力から DataWeave の2 つの属性を連結する方法は?

私のペイロードは次のとおりです。

[{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 ...値を「埋めます」variationsvariation-attribute

注: 現在、インラインでタグを閉じる方法がないため、空の文字列をテキストとして配置しました。

于 2015-09-28T13:08:06.287 に答える