JavaでXMLテンプレートに基づいてXMLファイルを生成する方法は何ですか?

Javaでは、XMLファイルを生成する際にはDOM(Document Object Model)またはJAXB(Java Architecture for XML Binding)を使用することができます。

  1. 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;

public class GenerateXML {

    public static void main(String[] args) {
        try {
            DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();
            Document document = documentBuilder.newDocument();

            Element rootElement = document.createElement("root");
            document.appendChild(rootElement);

            Element childElement = document.createElement("child");
            childElement.appendChild(document.createTextNode("Hello World"));
            rootElement.appendChild(childElement);

            TransformerFactory transformerFactory = TransformerFactory.newInstance();
            Transformer transformer = transformerFactory.newTransformer();
            DOMSource source = new DOMSource(document);
            StreamResult result = new StreamResult(new File("output.xml"));

            transformer.transform(source, result);

            System.out.println("XML file generated successfully!");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
  1. JAXBを利用する。
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

public class GenerateXML {

    public static void main(String[] args) {
        try {
            JAXBContext jaxbContext = JAXBContext.newInstance(YourClass.class);
            Marshaller marshaller = jaxbContext.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

            YourClass object = new YourClass(); // create an object of your class

            marshaller.marshal(object, new File("output.xml"));

            System.out.println("XML file generated successfully!");

        } catch (JAXBException e) {
            e.printStackTrace();
        }
    }
}

XMLファイルを生成するために、上記のコード例はそれぞれDOMとJAXBを使用しています。あなたの要求に応じて、どちらかの方法を選択して実装できます。

bannerAds