domdriver.java

来自「xstream是一个把java object序列化成xml文件的开源库,轻便好用」· Java 代码 · 共 61 行

JAVA
61
字号
package com.thoughtworks.xstream.io.xml;import com.thoughtworks.xstream.io.*;import org.w3c.dom.Document;import org.xml.sax.InputSource;import org.xml.sax.SAXException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.FactoryConfigurationError;import javax.xml.parsers.ParserConfigurationException;import java.io.*;public class DomDriver implements HierarchicalStreamDriver {    private final String encoding;    private final DocumentBuilderFactory documentBuilderFactory;    public DomDriver(String encoding) {        documentBuilderFactory = DocumentBuilderFactory.newInstance();        this.encoding = encoding;    }    public DomDriver() {        this("UTF-8");    }    public HierarchicalStreamReader createReader(Reader xml) {        return createReader(new InputSource(xml));    }    public HierarchicalStreamReader createReader(InputStream xml) {        return createReader(new InputSource(xml));    }    private HierarchicalStreamReader createReader(InputSource source) {        try {            DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();            source.setEncoding(encoding);            Document document = documentBuilder.parse(source);            return new DomReader(document);        } catch (FactoryConfigurationError e) {            throw new StreamException(e);        } catch (ParserConfigurationException e) {            throw new StreamException(e);        } catch (SAXException e) {            throw new StreamException(e);        } catch (IOException e) {            throw new StreamException(e);        }    }    public HierarchicalStreamWriter createWriter(Writer out) {        return new PrettyPrintWriter(out);    }    public HierarchicalStreamWriter createWriter(OutputStream out) {        return createWriter(new OutputStreamWriter(out));    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?