try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();
//创建根目录
Element root = document.createElement("Languages"); root.setAttribute("cat", "it");
//创建结点1
Element lan1 = document.createElement("lan");lan1.setAttribute("id", "1");
//创建结点1下属结点
Element name1 = document.createElement("name"); name1.setTextContent("Java"); Element ide1 = document.createElement("ide");ide1.setTextContent("Eclipse");
//下属结点加入结点1 lan1.appendChild(name1); lan1.appendChild(ide1);
//结点1加入根目录
root.appendChild(lan1);
//创建结点2
Element lan2 = document.createElement("lan");lan2.setAttribute("id", "2");
//创建结点2下属结点
Element name2 = document.createElement("name"); name2.setTextContent("Swift"); Element ide2 = document.createElement("ide"); ide2.setTextContent("Xcode"); //下属结点加入结点2 lan2.appendChild(name2); lan2.appendChild(ide2);
//结点2加入根目录
root.appendChild(lan2);
//创建结点3
Element lan3 = document.createElement("lan");lan3.setAttribute("id", "3");
//创建结点3下属结点
Element name3 = document.createElement("name"); name3.setTextContent("Xcode"); Element ide3 = document.createElement("ide"); ide3.setTextContent("Visual Studio"); //下属结点加入结点3 lan3.appendChild(name3); lan3.appendChild(ide3);
//结点3加入根目录
root.appendChild(lan3)
;
//根目录加入文件
document.appendChild(root);
//文件转为字符串
TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); StringWriter writer = new StringWriter();//方便网络传输 transformer.transform(new DOMSource(document), new StreamResult(writer)); System.out.println(writer.toString());
//转为XML文件
transformer.transform(new DOMSource(document), new StreamResult(new File("Languages.xml"))); } catch (DOMException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }