Getting and Setting an Attribute in a DOM Element

// Obtain an XML document; this method is implemented in // The Quintessential Program to Create a DOM Document from an XML File Document doc = parseXmlFile("infilename.xml", false); // Obtain an element Element element = doc.getElementById("key1"); // Determine the presence of an attribute boolean has = element.hasAttribute("value"); // true // Get an attribute value; returns null if not present String attrValue = element.getAttribute("value"); // value1 // Change the value of an attribute element.setAttribute("value", "newValue1"); // If an attribute is not specified in the XML but has a // default value, the attribute is automatically created element = doc.getElementById("key2"); has = element.hasAttribute("value"); // true attrValue = element.getAttribute("value"); // value2 // If the attribute value contains special characters, // they are automatically converted to entities when the // document in dumped element.setAttribute("value", "a<\"'&>z");
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" value="newValue1"/> <entry key="key2" value="a&lt;&quot;'&amp;&gt;z"/> </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.