%dw 2.0
output application/xml inlineCloseOn="empty"
---
payload
Output Self-closing XML Tags
For XML, DataWeave by default outputs every value within an opening and closing tag, even if the tag contains no value (for example, <element2></element2>
).
Before you begin, note that 2.x versions of DataWeave are used by Mule 4 apps. For
DataWeave in Mule 3 apps, refer to
DataWeave version 1.2 examples.
For other DataWeave versions, you can use the version selector in the DataWeave table of contents.
To output empty tags as a self-closing XML element (for example, <element2/>
), you can set the inlineCloseOn="empty"
output directive in the DataWeave header.
DataWeave Script:
Input JSON Payload:
{
"customer":{
"userName": "John Doe",
"password":{},
"status":"active",
"lastLogin":{}
}
}
Output XML:
<?xml version='1.0' encoding='UTF-8'?>
<customer>
<userName>John Doe</userName>
<password/>
<status>active</status>
<lastLogin/>
</customer>