- Apache Xerces - Home
- Apache Xerces - XML Overview
- Apache Xerces - Environment Setup
- Apache Xerces - XML Parsers
Xerces DOM Parser
- Apache Xerces - DOM Parser
- Apache Xerces - Parse XML Document
- Apache Xerces - Query XML Document
- Apache Xerces - Create XML Document
- Apache Xerces - Modify XML Document
Xerces SAX Parser
- Apache Xerces - SAX Parser
- Apache Xerces - Parse XML Document
- Apache Xerces - Query XML Document
- Apache Xerces - Create XML Document
- Apache Xerces - Modify XML Document
Xerces StAX Parser
- Apache Xerces - StAX Parser
- Apache Xerces - Parse XML Document
- Apache Xerces - Query XML Document
- Apache Xerces - Create XML Document
- Apache Xerces - Modify XML Document
Xerces Useful Resources
DOM Parser - Modify XML Document
Here is xml file we need to modify −
input.txt
<?xml version = "1.0" encoding = "UTF-8" standalone = "no"?>
<cars>
<supercars company = "Ferrari">
<carname type = "formula one">Ferrari 101</carname>
<carname type = "sports">Ferrari 202</carname>
</supercars>
<luxurycars company = "Benteley">
<carname>Benteley 1</carname>
<carname>Benteley 2</carname>
<carname>Benteley 3</carname>
</luxurycars>
</cars>
Example - Modifying XML Document
XercesDemo.java
package com.tutorialspoint.xml;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
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.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import java.io.File;
public class XercesDemo {
public static void main(String argv[]) {
try {
DocumentBuilderFactory dbFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder =
dbFactory.newDocumentBuilder();
Document doc = dBuilder.newDocument();
// root element
Element rootElement = doc.createElement("cars");
doc.appendChild(rootElement);
// supercars element
Element supercar = doc.createElement("supercars");
rootElement.appendChild(supercar);
// setting attribute to element
Attr attr = doc.createAttribute("company");
attr.setValue("Ferrari");
supercar.setAttributeNode(attr);
// carname element
Element carname = doc.createElement("carname");
Attr attrType = doc.createAttribute("type");
attrType.setValue("formula one");
carname.setAttributeNode(attrType);
carname.appendChild(
doc.createTextNode("Ferrari 101"));
supercar.appendChild(carname);
Element carname1 = doc.createElement("carname");
Attr attrType1 = doc.createAttribute("type");
attrType1.setValue("sports");
carname1.setAttributeNode(attrType1);
carname1.appendChild(
doc.createTextNode("Ferrari 202"));
supercar.appendChild(carname1);
// write the content into xml file
TransformerFactory transformerFactory =
TransformerFactory.newInstance();
Transformer transformer =
transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result =
new StreamResult(new File("cars.xml"));
transformer.transform(source, result);
// Output to console for testing
StreamResult consoleResult =
new StreamResult(System.out);
transformer.transform(source, consoleResult);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Output
The above program will generate the following result −
-----------Modified File----------- <?xml version = "1.0" encoding = "UTF-8" standalone = "no"?> <cars> <supercars company = "Lamborigini"> <carname type = "formula one">Lamborigini 001</carname> <carname type = "sports">Lamborigini 002</carname> </supercars></cars>
Advertisements