生成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格式文件。希望这篇文章对你有所帮助,加油!