Java How to read and write XML files

Java How to read and write XML files

To read and write XML files in Java, you can use the javax.xml.parsers package, which provides the DocumentBuilder class for parsing XML documents and the Transformer class for generating XML documents from an existing Document object.

Here is an example of how you can use the DocumentBuilder class and the Transformer class to read and write an XML file in Java:

refer ‮t‬o:lautturi.com
import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class XMLReaderWriter {
    public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TransformerException {
        // Read XML file
        File xmlFile = new File("example.xml");
        DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
        Document doc = dBuilder.parse(xmlFile);

        // Modify XML document
        // ...

        // Write XML file
        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        DOMSource source = new DOMSource(doc);
        StreamResult result = new StreamResult(new File("modified.xml"));
        transformer.transform(source, result);
    }
}

In this example, the main method creates a DocumentBuilder object and uses it to parse the XML file "example.xml" using the parse method. The method returns a Document object, which represents the XML document.

You can then modify the Document object by adding, deleting, or modifying its elements using the DOM API.

Once you have finished modifying the Document object, you can use the Transformer class to generate an XML file from it. The Transformer class takes a DOMSource object as input and a StreamResult object as output, and generates an XML file from the Document object using the transform method.

This code will read the XML file "example.xml", modify it, and write the modified version to the file "modified.xml". You can modify the code to perform other operations with the XML file, such as validating it against a schema or transforming it using an XSLT stylesheet.

Keep in mind that this is just one way to read and write XML files in Java. You can use different techniques and libraries to achieve the same result, such as using the javax.xml.stream package or the org.json package to parse and generate JSON documents.

Created Time:2017-11-03 23:27:08  Author:lautturi