I have a XML document, i want to insert more number of tag. example
<data>
<tag1>1St tag</tag1>
<tag2>2nd tag</tag2>
<tag3>NewTag</tag3>
<tag4>4th tag</tag4>
</data>
I have tried to insert the data, but whenever i insert the data the inserting element occurred at once
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
domFactory.setIgnoringComments(true);
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document doc = builder.parse(new File("File.xml"));
NodeList nodes = doc.getElementsByTagName("tag4");
Text a = doc.createTextNode("value");
Element p = doc.createElement("tag3");
p.appendChild(a);
for (int i = 0; i < nodes.getLength(); i++) {
nodes.item(i).getParentNode().insertBefore(p, nodes.item(i));
}
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlOutput = result.getWriter().toString();
System.out.println(xmlOutput);
System.out.println("Done");
This code is adding new element but whenever i insert new tag it rewrite the new tag name into existing tag. How to rectify the issue. To be simple i want to insert more tag in XML file.
Sample piece of code which will be helpful for you to add