%dw 2.0
output application/xml inlineCloseOn="empty"
var removeAttribute = (element,attrName) ->
  element mapObject (value, key) -> {
    // Pass the name of the key of the input object,
    // for example, whether the key is "users" or "user",
    // and use @() to remap the XML attributes.
    (key) @(
        (
          // If the element contains attributes (key.@?),
          // remove any attribute that has the provided key,
          // "password".
          if (key.@?)
            (key.@ - attrName)
          // Otherwise, do nothing.
          else {}
        )
    ) :
    // If the value of the input object contains one or
    // more objects, apply removeAttribute to remove any
    // attribute with the key "password" from those objects.
    if (value is Object)
      removeAttribute(value, attrName)
    // Otherwise, return the value of the input object.
    else value
  }
---
removeAttribute(payload, "password")
Remove Specified XML Attributes
You might want to remove specific attributes from within an XML tag that are known to contain sensitive data. The DataWeave example defines a function in the DataWeave header that removes a specific XML attribute from the passed element and its children.
This example uses:
- 
mapObjectto go through each element. - 
@to refer to the attributes in an XML element. - 
ifandelseto conditionally only list XML attributes when they are present, and also to only recursively call the function when a child element is an object. - 
isto check if each child is of typeObject. - 
-to remove an element from the list of XML attributes. - 
inlineCloseOn="empty"on the output directive, so that the output XML displays self-closing tags when there are no values. 
If the parent users object or child user objects within the input contain
an attribute with the key password, removeAttributes removes that attribute
from the object.
<users>
  <user username="Julian" password="1234"/>
  <user username="Mariano" password="4321"/>
</users>
<?xml version='1.0' encoding='US-ASCII'?>
<users>
  <user username="Julian"/>
  <user username="Mariano"/>
</users>



