chandu
chandu

Reputation: 11

How to write dynamic attributes

I need to write a dynamic Attribute name instead of hardcode of Name attribute in dataweave 2.0 mulesoft 4 in anypointstudio

<?xml version="1.0" encoding="UTF-8"?>    
<iGoApplicationData>
 <UserData>    
 <Data Name="UpdateUserProfile">True</Data>   
 <Data Name="Action">??</Data>
</iGoApplicationData>

Upvotes: 1

Views: 393

Answers (1)

machaval
machaval

Reputation: 5059

So in order to generate an XML like yours the DW structure will look like

{
  iGoApplicationData: {
    UserData: {
      Data @(Name: payload.foo): "True",
      Data @((var.attributeName): "Action"): "??"
    }
  }
}

So in this example I show how to specify a value in the attribute or a dynamic attribute name. For the dynamic attribute value just type the expression on the value side of the attribute (the part that goes after the :) For dynamic attribute name you need to wrap the expression between parenthesis. When the name is wrapped between parenthesis it is considered dynamic. This applies to object keys and attributes names

Upvotes: 1

Related Questions