Java生成xml文件
时间: 2023-07-11 17:05:38 浏览: 61
在Java中,可以使用DOM或者JDOM来生成XML文件。
DOM方式:
```java
try {
// 创建DocumentBuilderFactory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 创建DocumentBuilder
DocumentBuilder builder = factory.newDocumentBuilder();
// 创建Document
Document document = builder.newDocument();
// 创建根节点
Element root = document.createElement("bookstore");
document.appendChild(root);
// 创建子节点
Element book = document.createElement("book");
root.appendChild(book);
// 创建book的子节点
Element name = document.createElement("name");
name.setTextContent("Java编程思想");
book.appendChild(name);
Element author = document.createElement("author");
author.setTextContent("Bruce Eckel");
book.appendChild(author);
Element price = document.createElement("price");
price.setTextContent("108.00");
book.appendChild(price);
// 将document写入到xml文件
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
File file = new File("book.xml");
StreamResult result = new StreamResult(file);
transformer.transform(source, result);
} catch (Exception e) {
e.printStackTrace();
}
```
JDOM方式:
```java
try {
// 创建根节点
Element root = new Element("bookstore");
Document document = new Document(root);
// 创建子节点
Element book = new Element("book");
root.addContent(book);
// 创建book的子节点
Element name = new Element("name");
name.setText("Java编程思想");
book.addContent(name);
Element author = new Element("author");
author.setText("Bruce Eckel");
book.addContent(author);
Element price = new Element("price");
price.setText("108.00");
book.addContent(price);
// 创建XMLOutputter
XMLOutputter outputter = new XMLOutputter();
outputter.setFormat(Format.getPrettyFormat());
// 将document写入到xml文件
File file = new File("book.xml");
FileWriter writer = new FileWriter(file);
outputter.output(document, writer);
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
```