Jar Required: jdom.jar
Directory structure in eclipse:
XML before Updation:
<?xml version="1.0"
encoding="UTF-8" standalone="no"?>
<sky>
<employee empid="101">
<name>Sumit Kumar</name>
<email>xyz@yahoo.com</email>
</employee>
<employee empid="102">
<name>Sunil Kumar</name>
<email>skumar102@outlook.com</email>
</employee>
</sky>
SKYDOMUpdater.java:
package com.sky.parse.dom;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
public class SKYDOMUpdater {
public static void main(String argv[]) {
try {
DocumentBuilderFactory documentFactory =DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
Document document = documentBuilder.parse("src/sky.xml");
Node employee = document.getElementsByTagName("employee").item(0);
NamedNodeMap attribute = employee.getAttributes();
Node empid = attribute.getNamedItem("empid");
empid.setTextContent("201");
Element mobileNo = document.createElement("mobile");
mobileNo.appendChild(document.createTextNode("9999999999"));
employee.appendChild(mobileNo);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult("src/sky.xml");
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
public class SKYDOMUpdater {
public static void main(String argv[]) {
try {
DocumentBuilderFactory documentFactory =DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
Document document = documentBuilder.parse("src/sky.xml");
Node employee = document.getElementsByTagName("employee").item(0);
NamedNodeMap attribute = employee.getAttributes();
Node empid = attribute.getNamedItem("empid");
empid.setTextContent("201");
Element mobileNo = document.createElement("mobile");
mobileNo.appendChild(document.createTextNode("9999999999"));
employee.appendChild(mobileNo);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult("src/sky.xml");
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
XML After Updation:
<?xml version="1.0"
encoding="UTF-8" standalone="no"?>
<sky>
<employee empid="201">
<name>Sumit Kumar</name>
<email>xyz@yahoo.com</email>
<mobile>9999999999</mobile>
</employee>
<employee empid="102">
<name>Sunil Kumar</name>
<email>skumar102@outlook.com</email>
</employee>
</sky>
No comments:
Post a Comment