庆祝s

或多或少
可以创建xml的JAVA工厂类--------JAVA
package com.ajh.xml.util;//任意的包名别忘了改

import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.DOMImplementation;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.TransformerException;
import javax.xml.transform.dom.DOMSource;
import java.io.OutputStream;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.parsers.ParserConfigurationException;
import java.io.File;
import java.io.IOException;
import org.xml.sax.SAXException;

public class MyDOMUtil {
    //获得一个已有的XML文档
    public static Document getDoc(String xmlPath) throws
            ParserConfigurationException, IOException, SAXException {
        //Builder的工厂
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         //创建一个Builder实例
         DocumentBuilder builder = factory.newDocumentBuilder();

         Document doc = builder.parse(new File(xmlPath));
         return doc;

    }
    //建立一个XML文档
     public static Document getDocWithDocType(String rootElement) throws
             Exception {
         //Builder的工厂
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         //创建一个Builder实例
         DocumentBuilder builder = factory.newDocumentBuilder();
         DOMImplementation docImpl = builder.getDOMImplementation();

         Document doc = docImpl.createDocument(null, rootElement,
                                               null);
         return doc;
     }
      //用JAXP将生DOM对象树输出到输出流中
     public static OutputStream saveToOutputStream(Document doc,
                                                   String encoding,
                                                   OutputStream out) throws
             TransformerConfigurationException, TransformerException {
         //转换工厂
         TransformerFactory tf = TransformerFactory.newInstance();
         //转换器
         Transformer transformer = tf.newTransformer();
         //编码
         transformer.setOutputProperty(OutputKeys.ENCODING, encoding);
         //含有缩进
         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
         //得到要打印得xml文档
         DOMSource source = new DOMSource(doc);
         StreamResult result = new StreamResult(out);
         //进行转换
         transformer.transform(source, result);
         return out;
     }



}

posted on 2008-05-15 09:11  庆祝  阅读(703)  评论(0)    收藏  举报