0

私はデータウィーブで変換しています。

Mysql データベースから入力を取得しています。入力ペイロード タイプは List-Map です。私のデータウィーブエディターには以下のコードがあります。

%dw 1.0
%namespace ns1 urn:abc:api:Components
%output application/xml 
---
ns1#"ItemRequest":{
    ns1#"Requester":
        ns1#ac: payload.time_max,

        ns1#"ErrorLanguage": "en_US",
        ns1#"WarningLevel": "High"
}

私の出力は

<?xml version='1.0' encoding='UTF-8'?>
<ns1:ItemRequest xmlns:ns1="urn:abc:api:Components">
  <ns1:Requester>
    <ns1:ac>
      <time_max>1</time_max>
    </ns1:ac>
  </ns1:Requester>
  <ns1:ErrorLanguage>en_US</ns1:ErrorLanguage>
  <ns1:WarningLevel>High</ns1:WarningLevel>
</ns1:AddItemRequest>

「time_max」を使用して、出力の「ac」要素の下にタグが作成される理由がわかりません。「Time_max」は MySQL テーブルの列名です。しかし、出力xmlに列を追加したくありません。このタグの作成をどのように回避できますか?

期待される出力は

<?xml version='1.0' encoding='UTF-8'?>
<ns1:ItemRequest xmlns:ns1="urn:abc:api:Components">
  <ns1:Requester>
    <ns1:ac>1</ns1:ac>
  </ns1:Requester>
  <ns1:ErrorLanguage>en_US</ns1:ErrorLanguage>
  <ns1:WarningLevel>High</ns1:WarningLevel>
</ns1:AddItemRequest>
4

1 に答える 1

0

以下のコードを入力して問題を解決しました。

%dw 1.0
%namespace ns1 urn:abc:api:Components
%output application/xml 
---
ns1#"ItemRequest":{
    ns1#"Requester":
        ns1#ac: payload[0].time_max,
        ns1#"ErrorLanguage": "en_US",
        ns1#"WarningLevel": "High"
}

以下のスニペットの行は魔法です。配列インデックス値を含めました。

 ns1#ac: payload[0].time_max
于 2015-12-21T01:49:57.150 に答える