Mega Code Archive

 
Categories / Java Tutorial / XML
 

Changing the Name of a DOM Element

import java.io.File; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Attr; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; public class Main {   public static void main(String[] argv) throws Exception {     DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();     factory.setValidating(true);     factory.setExpandEntityReferences(false);     Document doc = factory.newDocumentBuilder().parse(new File("filename"));     Element element = doc.getDocumentElement();     Element element2 = doc.createElement("newname");     NamedNodeMap attrs = element.getAttributes();     for (int i = 0; i < attrs.getLength(); i++) {       Attr attr2 = (Attr) doc.importNode(attrs.item(i), true);       element2.getAttributes().setNamedItem(attr2);     }     while (element.hasChildNodes()) {       element2.appendChild(element.getFirstChild());     }     element.getParentNode().replaceChild(element2, element);   } }