可以创建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;
}
}
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;
}
}