可以参考解析xml 之DOM 文章了解DOM的介绍,这篇只简单附上DOM生成xml 的案例:
public DocumentBuilder getDocumentBuilder() {
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = null;
try {
documentBuilder = builderFactory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
return documentBuilder;
}
public void createXML() {
DocumentBuilder dBuilder = getDocumentBuilder();
// 创建结构树
Document document = dBuilder.newDocument();
// 创建bookstore 节点
Element bookstore = document.createElement("bookstore");
// 创建book节点
Element book = document.createElement("book");
// 创建book 子节点 name
Element name = document.createElement("name");
//创建子节点内容
name.setTextContent("人性的弱点");
// 创建book 节点 的属性 id 值 为 1
book.setAttribute("id", "1");
book.appendChild(name);
//将book节点放到bookstore节点下
bookstore.appendChild(book);
//将bookstore 节点放到 文档的整个结构中
document.appendChild(bookstore);
//输出xml
TransformerFactory transformerFactory = TransformerFactory.newInstance();
try {
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.transform(new DOMSource(document), new StreamResult(new File("src/book.xml")));
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}