在java代碼中建立xml檔案

來源:互聯網
上載者:User
package com.huawei.demo;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;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.Attr;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class ParseXml {  private static Document document;      public static void init() {        try {            DocumentBuilderFactory factory = DocumentBuilderFactory                    .newInstance();            DocumentBuilder builder = factory.newDocumentBuilder();            document = builder.newDocument();        } catch (ParserConfigurationException e) {            System.out.println(e.getMessage());        }    }     public static void createXml(String fileName) {    init();        Element root = document.createElement("configs");   //建立根節點        document.appendChild(root);                /* 建立一個完成的節點,start */        Element item = document.createElement("item");        Attr name = document.createAttribute("name");        name.setValue("wifi_on");        item.setAttributeNode(name);        item.appendChild(document.createTextNode("1"));        root.appendChild(item);        //item.appendChild(document.createTextNode("wangchenyang"));        /*  end  */                Element item1 = document.createElement("item");        Attr name1 = document.createAttribute("name");        item1.setAttribute("name", "eth_on");    //增加屬性的另一種方法        item1.appendChild(document.createTextNode("1"));        root.appendChild(item1);                //將DOM對象document寫入到xml檔案中        TransformerFactory tf = TransformerFactory.newInstance();        try {            Transformer transformer = tf.newTransformer();            DOMSource source = new DOMSource(document);            transformer.setOutputProperty(OutputKeys.ENCODING, "gb2312");            transformer.setOutputProperty(OutputKeys.INDENT, "yes");            PrintWriter pw = new PrintWriter(new FileOutputStream(fileName));            StreamResult result = new StreamResult(pw);            transformer.transform(source, result);     //關鍵轉換            System.out.println("產生XML檔案成功!");        } catch (TransformerConfigurationException e) {            System.out.println(e.getMessage());        } catch (IllegalArgumentException e) {            System.out.println(e.getMessage());        } catch (FileNotFoundException e) {            System.out.println(e.getMessage());        } catch (TransformerException e) {            System.out.println(e.getMessage());        }    }     public void parserXml(String fileName) {        try {            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();            DocumentBuilder db = dbf.newDocumentBuilder();            Document document = db.parse(fileName);                         NodeList employees = document.getChildNodes();            for (int i = 0; i < employees.getLength(); i++) {                Node employee = employees.item(i);                NodeList employeeInfo = employee.getChildNodes();                for (int j = 0; j < employeeInfo.getLength(); j++) {                    Node node = employeeInfo.item(j);                    NodeList employeeMeta = node.getChildNodes();                    for (int k = 0; k < employeeMeta.getLength(); k++) {                        System.out.println(employeeMeta.item(k).getNodeName()                                + ":" + employeeMeta.item(k).getTextContent());                    }                }            }            System.out.println("解析完畢");        } catch (FileNotFoundException e) {            System.out.println(e.getMessage());        } catch (ParserConfigurationException e) {            System.out.println(e.getMessage());        } catch (SAXException e) {            System.out.println(e.getMessage());        } catch (IOException e) {            System.out.println(e.getMessage());        }    }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.