Adding and Removing an Attribute in a DOM Element

If any special characters appear in the value of an attribute (e.g., <>"), they are automatically converted to entities by the XML writers.
// Obtain an element; this method is implemented in // The Quintessential Program to Create a DOM Document from an XML File Document doc = parseXmlFile("infilename.xml", true); Element element = doc.getElementById("key1"); // Add an attribute element.setAttribute("newAttrName", "attrValue"); // Change the value of an attribute. // Special characters are automatically converted to entities by the XML writer. element.setAttribute("newAttrName", "<>&\"'"); // Remove an attribute element.removeAttribute("value"); // However, if the attribute has a default value, the attribute cannot be removed boolean has = element.hasAttribute("value"); // true // The effect of removing an attribute with a default value // is to set the attribute to the default value String attrValue = element.getAttribute("value"); // mydefault
This is the sample input for the example:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE map [ <!ELEMENT map (entry*) > <!ELEMENT entry EMPTY > <!ATTLIST entry key ID #REQUIRED value CDATA "mydefault"> ]> <map> <entry key="key1" value="value1"/> <entry key="key2" /> </map>
The resulting XML from running the example is:
<?xml version="1.0" encoding="UTF-8"?> <map> <entry key="key1" newAttrName="&lt;&gt;&amp;&quot;'" value="mydefault"/> <entry key="key2" value="mydefault"/> </map>

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.