生成xml格式文件的步骤

1. 创建xml文件

// 创建一个DocumentBuilderFactory实例
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
// 创建一个DocumentBuilder实例
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
// 创建一个Document对象
Document doc = docBuilder.newDocument();

2. 创建根节点

// 创建一个根节点
Element rootElement = doc.createElement("root");
// 将根节点添加到Document对象中
doc.appendChild(rootElement);

3. 创建子节点

// 创建一个子节点
Element childElement = doc.createElement("child");
// 设置子节点的文本内容
childElement.appendChild(doc.createTextNode("Child node content"));
// 将子节点添加到根节点中
rootElement.appendChild(childElement);

4. 生成xml文件

// 创建一个TransformerFactory实例
TransformerFactory transformerFactory = TransformerFactory.newInstance();
// 创建一个Transformer实例
Transformer transformer = transformerFactory.newTransformer();
// 设置输出格式
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
// 创建一个DOMSource对象
DOMSource source = new DOMSource(doc);
// 创建一个StreamResult对象,指定xml文件的路径
StreamResult result = new StreamResult(new File("output.xml"));
// 将xml文件写入到指定路径
transformer.transform(source, result);

5. 完整代码示例

import java.io.File;
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 XMLGenerator {
    public static void main(String[] args) throws Exception {
        DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
        Document doc = docBuilder.newDocument();

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

        Element childElement = doc.createElement("child");
        childElement.appendChild(doc.createTextNode("Child node content"));
        rootElement.appendChild(childElement);

        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        DOMSource source = new DOMSource(doc);
        StreamResult result = new StreamResult(new File("output.xml"));
        transformer.transform(source, result);
    }
}

甘特图

gantt
    title 生成xml格式文件的时间安排
    section 创建xml文件
    创建一个DocumentBuilderFactory实例 : done, 2022-01-01, 1d
    创建一个DocumentBuilder实例 : done, 2022-01-02, 1d
    创建一个Document对象 : done, 2022-01-03, 1d

    section 创建根节点
    创建一个根节点 : done, 2022-01-04, 1d

    section 创建子节点
    创建一个子节点 : done, 2022-01-05, 1d
    设置子节点的文本内容 : done, 2022-01-06, 1d

    section 生成xml文件
    创建一个TransformerFactory实例 : done, 2022-01-07, 1d
    创建一个Transformer实例 : done, 2022-01-08, 1d
    设置输出格式 : done, 2022-01-09, 1d
    创建一个DOMSource对象 : done, 2022-01-10, 1d
    创建一个StreamResult对象 : done, 2022-01-11, 1d
    将xml文件写入到指定路径 : done, 2022-01-12, 1d

类图

classDiagram
    class DocumentBuilderFactory {
        + newInstance()
    }

    class DocumentBuilder {
        + newDocumentBuilder()
    }

    class Document {
        + createElement()
        + appendChild()
    }

    class Element {
        + createElement()
        + appendChild()
    }

    class TransformerFactory {
        + newInstance()
    }

    class Transformer {
        + newTransformer()
        + setOutputProperty()
    }

    class DOMSource {
        + DOMSource()
    }

    class StreamResult {
        + StreamResult()
    }

    DocumentBuilderFactory <|-- DocumentBuilder
    Document <-- Element
    Element <|-- TransformerFactory
    Transformer <-- DOMSource
    DOMSource <|-- StreamResult

通过以上步骤和示例代码,你可以成功生成一个包含根节点和子节点的xml格式文件。希望这篇文章对你有所帮助,加油!