📄 xmltransformutil.java
字号:
package ffcs.util;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.IOException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.Transformer;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.xml.sax.SAXException;
import org.apache.crimson.tree.XmlDocument;
import javax.xml.parsers.DocumentBuilder;
public class XmlTransformUtil {
public static Document builerDocument(InputStream is) throws
ParserConfigurationException, FactoryConfigurationError,
SAXException, IOException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(false);
factory.setIgnoringComments(true);
factory.setIgnoringElementContentWhitespace(false);
factory.setCoalescing(false);
factory.setExpandEntityReferences(true);
OutputStreamWriter errorWriter = new OutputStreamWriter(System.err);
DocumentBuilder builder = factory.newDocumentBuilder();
errorWriter.close();
return builder.parse(is);
}
/**
* 把XML转换成字符串输出
* @param doc Document 要转换的XML文档
* @return String
*/
public static String docToXMLString(Document doc) {
String strXML = null;
try {
StringWriter sw = new java.io.StringWriter(); //构造一个字符串输出流
((XmlDocument) doc).write(sw); //把XML写到输出流上
strXML = sw.toString(); //转换成字符串
sw.close(); //关闭字符流
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return strXML;
}
/**
* 把XML文档的某个节点,转换成字符串输出
* @param dom Node
* @return String
*/
public static String transDOM2String(Node dom) {
TransformerFactory tFactory = TransformerFactory.newInstance();
StringWriter sw = new StringWriter();
StreamResult sr = new StreamResult(sw);
String strXML = null;
try {
DOMSource domSource = new DOMSource(dom);
Transformer transformer = tFactory.newTransformer();
transformer.setOutputProperty("encoding", "GB2312");
transformer.transform(domSource, sr);
strXML = sw.toString();
} catch (Exception e) {
e.printStackTrace();
}
return strXML;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -