Java如何使用JDOM创建XML文档?

在这个小程序中,您可以看到如何使用JDOM创建一个简单的xml文件。在下面,您将看到如何创建xml文档的元素,并为该元素设置一些文本。

之后,您将看到如何使用XMLOutputter该类将JDOM文档写入文件并将其显示在屏幕上。为了使输出更好,我们可以将应用于Format我们的xml文档。

package org.nhooo.example.jdom;

import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

import java.io.FileWriter;

public class JDomCreatingXml {
    public static void main(String[] args) {
        // <rows>
        //     <row>
        //         <firstname>Alice</firstname>
        //         <lastname>Starbuzz</lastname>
        //         <address>Sunset Road</address>
        //     </row>
        // </row>
        Document document = new Document();
        Element root = new Element("rows");

        //为根元素创建一个子级。在这里我们可以看到如何
        // 设置xml元素的文本。
        Element child = new Element("row");
        child.addContent(new Element("firstname").setText("Alice"));
        child.addContent(new Element("lastname").setText("Starbuzz"));
        child.addContent(new Element("address").setText("Sunset Road"));

        // 将子项添加到根元素,并将根元素添加为
        // 文件内容。
        root.addContent(child);
        document.setContent(root);

        try {
            FileWriter writer = new FileWriter("userinfo.xml");
            XMLOutputter outputter = new XMLOutputter();

            //将XLMOutputter设置为漂亮的格式化程序。此格式化程序
            // 使用TextMode.TRIM,这意味着它将删除
            // 两侧(左和右)的尾随空白
            outputter.setFormat(Format.getPrettyFormat());

            // 将文档写入文件,并显示在
            // 通过System.out屏幕。
            outputter.output(document, writer);
            outputter.output(document, System.out);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

该程序将输出以下XML文档:

<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <firstname>Alice</firstname>
    <lastname>Starbuzz</lastname>
    <address>Sunset Road</address>
  </row>
</rows>

Maven依赖

<!-- https://search.maven.org/remotecontent?filepath=org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar -->
<dependency>
    <groupId>org.jdom</groupId>
    <artifactId>jdom2</artifactId>
    <version>2.0.6</version>
</dependency>

Maven中央