In this tutorial, you will learn how to append new node to xml file. Sometimes there is a need to append a new XML node to the xml file. Here is an xml file where we are going to append a new node.
file.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <school> <student> <name>Angelina</name> <address>Delhi</address> </student> <student> <name>Martina</name> <address>Mumbai</address> </student> </school>
Here is a code that appends a new node student with name and address elements.
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
public class AppendNode {
public static void main(String[] args) {
try {
File xmlFile = new File("C:\\file.xml");
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(xmlFile);
Element documentElement = document.getDocumentElement();
Element textNode = document.createElement("name");
textNode.setTextContent("Rose");
Element textNode1 = document.createElement("address");
textNode1.setTextContent("Delhi");
Element nodeElement = document.createElement("student");
nodeElement.appendChild(textNode);
nodeElement.appendChild(textNode1);
documentElement.appendChild(nodeElement);
document.replaceChild(documentElement, documentElement);
Transformer tFormer =
TransformerFactory.newInstance().newTransformer();
tFormer.setOutputProperty(OutputKeys.METHOD, "xml");
Source source = new DOMSource(document);
Result result = new StreamResult(xmlFile);
tFormer.transform(source, result);
} catch (Exception ex) {
System.out.println(ex);
}
}
}
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.