DOM生成XML文档

时间:2023-03-09 22:22:36
DOM生成XML文档
 import java.io.File;

 import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
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 DOM_Create_XML { public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element addresslist = doc.createElement("addresslist");
Element linkman = doc.createElement("linkman");
Element name = doc.createElement("name");
Element email = doc.createElement("email");
name.appendChild(doc.createTextNode("李兴华"));
email.appendChild(doc.createTextNode("lxh@163.com"));
linkman.appendChild(name);
linkman.appendChild(email);
addresslist.appendChild(linkman);
doc.appendChild(addresslist);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "GBK");
DOMSource domSource = new DOMSource(doc);
StreamResult result = new StreamResult(new File("D:")+File.separator+"output.xml");
transformer.transform(domSource, result);
}
}

运行程序,D盘下生成一个output.xml文档:

<?xml version="1.0" encoding="GBK" standalone="no"?><addresslist><linkman><name>李兴华</name><email>lxh@163.com</email></linkman></addresslist>

整理一下格式:

 <?xml version="1.0" encoding="GBK" standalone="no"?>
<addresslist>
<linkman>
<name>李兴华</name>
<email>lxh@163.com</email>
</linkman>
</addresslist>