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:
%dw 2.0
output application/xml inlineCloseOn="empty"
Input JSON Payload:
    "userName": "John Doe",
Output XML:
<?xml version='1.0' encoding='UTF-8'?>
  <userName>John Doe</userName>

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub
Submit your feedback!
Share your thoughts to help us build the best documentation experience for you!
Take our latest survey!