importjava.io.File;importjava.io.StringWriter;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.parsers.ParserConfigurationException;importjavax.xml.transform.Transformer;importjavax.xml.transform.TransformerConfigurationException;importjavax.xml.transform.TransformerException;importjavax.xml.transform.TransformerFactory;importjavax.xml.transform.dom.DOMSource;importjavax.xml.transform.stream.StreamResult;importorg.w3c.dom.Document;importorg.w3c.dom.Element;public classCreateXML {public static voidmain(String[] args) {try{//创建xml文件。DOM方式
DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document document=builder.newDocument();//添加根元素,指定标签
Element root=document.createElement("books");//给根元素添加属性值
root.setAttribute("id", "aaa");//创建一个子标签
Element book1=document.createElement("book");
book1.setAttribute("id", "1");//再创建下一级的子标签
Element name1=document.createElement("name");
Element price1=document.createElement("price");//设定标签内的内容
name1.setTextContent("小说");
price1.setTextContent("100元");//把子标签添加到上一级标签,appendChild方法
book1.appendChild(name1);
book1.appendChild(price1);//复制以上代码,把节点填充完
Element book2=document.createElement("book");
book2.setAttribute("id", "2");
Element name2=document.createElement("name");
Element price2=document.createElement("price");
name2.setTextContent("杂志");
price2.setTextContent("200元");
book2.appendChild(name2);
book2.appendChild(price2);
Element book3=document.createElement("book");
book3.setAttribute("id", "3");
Element name3=document.createElement("name3");
Element price3=document.createElement("price3");
name3.setTextContent("课本");
price3.setTextContent("300元");
book3.appendChild(name3);
book3.appendChild(price3);
root.appendChild(book1);
root.appendChild(book2);
root.appendChild(book3);
document.appendChild(root);//最后一步//文档内容创建完毕,下面是输出文档
TransformerFactory transformerFactory =TransformerFactory.newInstance();
Transformer transformer1=transformerFactory.newTransformer();
StringWriter writer=newStringWriter();
transformer1.transform(new DOMSource(document), newStreamResult(writer));
System.out.println(writer.toString());//成功输出,可以复制//直接生成xml文件
transformer1.transform(new DOMSource(document), new StreamResult(new File("newxml.xml")));
}catch(ParserConfigurationException e) {
e.printStackTrace();
}catch(TransformerConfigurationException e) {//TODO 自动生成的 catch 块
e.printStackTrace();
}catch(TransformerException e) {//TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}