user2966458 user2966458 - 5 months ago 27
Java Question

Add new attributes to an existing XML node in java?

I want to add an attribute to an existing xml node.I don't want to add new elements (new nodes) to my xml file, I just want to add a new attribute. How can I do this?

In particular I've tried this lines of code:

Element process = doc.getElementsById("id");
process.setAttribute("modelgroup", "");

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("C:\\Users\\Blerta\\workspaceKEPLER\\XML_to_JSON\\SampleExample.xml"));
transformer.transform(source, result);

But I get the following exception:

Exception in thread "main" java.lang.NullPointerException
at Main.appendAttributes(
at Main.displayNodes(
at Main.displayNodes(
at Main.main(**

Answer Source

in DOM parser it is very easy. get your node and simply use this function.


then finally update your document. like this..

        Transformer transformer = TransformerFactory.newInstance().newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");
        transformer.setOutputProperty("{}indent-amount", "5");
        DOMSource source = new DOMSource(document);
        StreamResult result = new StreamResult(new File(tablePath));
        transformer.transform(source, result);