繁体   English   中英

esb ule子中的DataWeave转换问题

[英]DataWeave transformation issue in esb mule

我在dataweave中进行了转换。

我正在从Mysql数据库获取输入。 输入有效负载类型为列表映射。 我的dataweave编辑器具有以下代码。

%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>

我已经通过键入以下代码解决了该问题。

%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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM