Contact Us 1-800-596-4880

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 DataWeave version 2 (%dw 2.0) is for Mule 4 apps. For a Mule 3 app, refer to DataWeave version 1 (%dw 1.0) examples, within the Mule 3.9 documentation set. For other Mule versions, you can use the Mule Runtime version selector in the 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:
%dw 2.0
output application/xml inlineCloseOn="empty"
---
payload
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>