赵振江
主要类
DocumentBuilder、DocumentBuilderFactory、Document、TransformerFactory、Transformer、DOMSource、StreamResult
CreateXml.java
package demo;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Element;
public class CreateXml {
// 创建DocumentBuilder
public static DocumentBuilder getDocumentBuilder() {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docb = null;
try {
docb = dbf.newDocumentBuilder();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return docb;
}
public static boolean create(){
//获取DocumentBuilder 对象
DocumentBuilder docb=getDocumentBuilder();
//创建Document对象 w3c
org.w3c.dom.Document doc=docb.newDocument();
//设置document格式
doc.setXmlStandalone(true);
//创建子节点
//首先创建 根节点
Element MusicType =doc.createElement("MusicType");
Element name=doc.createElement("music");
Element pop=doc.createElement("pop");
//设置 子节点 文本内容
name.setTextContent("民谣 ");
//为某些子节点设置属性
name.setAttribute("id", "1");
pop.setTextContent("小众");
//将目标 子节点 添加到目标根节点
// MusicType.appendChild(name);
// MusicType.appendChild(pop);
name.appendChild(pop);
MusicType.appendChild(name);
//将根节点添加到xml docment里面去
doc.appendChild(MusicType);
//创建 TransformerFactory
TransformerFactory tff=TransformerFactory.newInstance();
//创建Transformer对象
try {
Transformer tf=tff.newTransformer();
tf.setOutputProperty(OutputKeys.INDENT, "yes");
tf.transform(new DOMSource(doc), new StreamResult(new File("music.xml")));
return true;
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
public static void main(String[] args) {
if(CreateXml.create())
System.out.println("創建成功!");
else
System.out.println("創建失敗!");
}
}
[执行成功后] 建议右键Refresh下自己的工程,会在工程的根目录下发现以下文件
music.xml
<?xml version="1.0" encoding="UTF-8"?>
<MusicType>
<music id="1">民谣 <pop>小众</pop>
</music>
</MusicType>
原文地址:http://blog.csdn.net/c_major/article/details/45579807