如何使用DataWeave动态填充XML标记

时间:2016-05-19 15:14:59

标签: dataweave

以下是所需的输入和输出格式:     输入XML

<entity>
        <element>
            <elementName>ProcessName</elementName>
            <elementValue>StepOne</elementValue>
        </element>
</entity>

**Output XML**:
<Entity>
 <ProcessName>StepOne</ProcessName>
</Entity>

输入XML标记的值应该是输出XML中的标记。

提前感谢您的帮助!!!

2 个答案:

答案 0 :(得分:0)

%dw 1.0
%input payload application/json
%output application/xml skipNullOn="everywhere"
---
{

  Entity: {
            payload.entity.element.elementName: payload.entity.element.elementValue
          }
}

我做了一个解决方法,比如有一个空标记,并用分配给变量的子XML字符串替换那个空标记。但我想用变压器实现这一目标。

答案 1 :(得分:0)

尝试使用以下

%dw 1.0
%output application/xml
---
{
    Entity: {
        (payload.entity.*element map {
            ($.elementName) : $.elementValue
        })
    }
}

矿山输出就像

<Entity>
  <ProcessName>StepOne</ProcessName>
  <ProcessName1>StepTwo</ProcessName1>
</Entity>

希望这会有所帮助..