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

How to populate XML tag dynamically using DataWeave

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

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

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

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

在此先感谢您的帮助!!!

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

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

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

尝试以下

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

我的输出就像

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

希望这对您有所帮助..