DOM解析XML文件实例(一)

来源:互联网 发布:云计算的概念 编辑:程序博客网 时间:2024/06/04 18:17

在这里给大家一个DOM解析XML的一个简单示例,主要功能就是打开一个xml文件,在里面添加根元素的一个孩子节点,并且保存!!

 

 

package u;import java.io.File;import java.io.IOException;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;import org.w3c.dom.Node;import org.xml.sax.SAXException;public class y {   private static DocumentBuilderFactory dbf;   private static DocumentBuilder db;   private static Document d;   private static File f;public static Document  parseXmlFile(){  Element dd; dbf=DocumentBuilderFactory.newInstance(); try{ db=dbf.newDocumentBuilder();} catch (ParserConfigurationException e) {// TODO Auto-generated catch blocke.printStackTrace();}f=new File("f:/t.xml");/////////////打开一个写xml文件try{d=db.parse(f);//////将xml文件转换成Document} catch (SAXException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}dd= d.getDocumentElement();//获得xml的根节点Element ee=d.createElement("fff");///创建一个元素dd.appendChild(ee);////给根节点添加孩子节点return d;}public static void WritePath(Node d,String path){          //////保存生成的xml文件TransformerFactory tff=TransformerFactory.newInstance();Transformer tf;DOMSource ds=new DOMSource(d);StreamResult sr=new StreamResult(new File(path));try{ tf=tff.newTransformer();tf.transform(ds, sr);} catch (TransformerException e) {// TODO Auto-generated catch blocke.printStackTrace();}    }public static void main(String[] args) {// TODO Auto-generated method stub         Document sd=parseXmlFile();WritePath(sd,"f:/t.xml");}}