java 利用DOM寫入XML文檔

package gao.javaweb.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 DomDemo01 {
 public static void main(String args[]) throws Exception{
          //(1)建DocumentBuilderFactory ,用於取得DocumentBuilder
    DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    //(2)通過DocumentBuilderFactory 取得DocumentBuilder
    DocumentBuilder doBuilder=null;
    doBuilder = factory.newDocumentBuilder();
    //(3)定義Document接口 ,通過DocumentBuilder類進行DOM樹的轉換操作
    Document doc=null;
    doc=doBuilder.newDocument();   //新建一個新的文檔
    //(4) 建立各個操作節點
    Element addresslist=doc.createElement("addresslist");
    Element linkman=doc.createElement("linkman");
    Element name=doc.createElement("name");
    Element email=doc.createElement("email");
    //(5) 設置節點的內容,即爲每個節點添加文本節點
    name.appendChild(doc.createTextNode("細雨溼衣"));
    email.appendChild(doc.createTextNode("
[email protected]"));
    //(6)設置節點的關係
    linkman.appendChild(name);
    linkman.appendChild(email);
    addresslist.appendChild(linkman);
    doc.appendChild(addresslist);   //文檔上保存節點
    //(7) 輸出文檔到文件中
    TransformerFactory tf = TransformerFactory.newInstance();
    Transformer t=null;
    t=tf.newTransformer();
    //設置文件編碼
    t.setOutputProperty(OutputKeys.ENCODING, "gb2312");
    //利用DOMSource輸出文檔
    DOMSource source = new DOMSource(doc);
    //指定輸出文件位置
    StreamResult result=new StreamResult(new File("d:"+File.separator+"XML"+File.separator+"output.xml"));
    t.transform(source, result);  //輸出
    
 }

}

發佈了34 篇原創文章 · 獲贊 20 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章