DOM创建XML文件

来源:互联网 发布:易语言文字游戏源码 编辑:程序博客网 时间:2024/05/24 23:15

采用DOM方式创建代码:

package Test;import java.io.File;import java.io.StringWriter;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;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.Document;import org.w3c.dom.Element;public class CreatXML {public static void main(String[] args) {try {DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = factory.newDocumentBuilder();Document document = builder.newDocument();Element root = document.createElement("Languages");root.setAttribute("cat", "it");Element lan1 = document.createElement("lan");lan1.setAttribute("id", "1");Element name1 = document.createElement("name");name1.setTextContent("Java");Element ide1 = document.createElement("ide");ide1.setTextContent("Eclipse");lan1.appendChild(name1);lan1.appendChild(ide1);Element lan2 = document.createElement("lan");lan2.setAttribute("id", "2");Element name2 = document.createElement("name");name2.setTextContent("Swift");Element ide2 = document.createElement("ide");ide2.setTextContent("Xcode");lan2.appendChild(name2);lan2.appendChild(ide2);Element lan3 = document.createElement("lan");lan3.setAttribute("id", "3");Element name3 = document.createElement("name");name3.setTextContent("C#");Element ide3 = document.createElement("ide");ide3.setTextContent("Visual Studio");lan3.appendChild(name3);lan3.appendChild(ide3);root.appendChild(lan1);root.appendChild(lan2);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());transformer.transform(new DOMSource(document), new StreamResult(new File("newXML.xml")));} catch (ParserConfigurationException e) {e.printStackTrace();} catch (TransformerConfigurationException e) {e.printStackTrace();} catch (TransformerException e) {e.printStackTrace();}}}

language.xml文件:

<?xml version="1.0" encoding="UTF-8"?><laguages cat="it"><lan id="1"><name>Java</name><ide>Eclipse</ide></lan><lan id="2"><name>Swift</name><ide>Xcode</ide></lan><lan id="3"><name>C#</name><ide>Visual Studio</ide></lan></laguages>


0 0