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); //輸出
}
}