Java 怎么解析输入流(InputStream)并返回一个DOM文档(Document)

2019年7月28日21:59:54Java 怎么解析输入流(InputStream)并返回一个DOM文档(Document)已关闭评论 520 1056字阅读3分31秒

1.简介

Java 怎么解析输入流(InputStream)并返回一个DOM文档(Document)?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */


import java.io.InputStream;

import org.w3c.dom.DOMConfiguration;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;

import org.w3c.dom.bootstrap.DOMImplementationRegistry;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSInput;

import org.w3c.dom.ls.LSParser;

public class Main {
    
    public static Document parse(InputStream byteStream) {
        
        DOMImplementationLS impl = (DOMImplementationLS) getDOMImplementation();
        LSInput input = impl.createLSInput();
        input.setByteStream(byteStream);

        
        LSParser builder = impl.createLSParser(
                DOMImplementationLS.MODE_SYNCHRONOUS, null);
        DOMConfiguration config = builder.getDomConfig();
        config.setParameter("comments", false);
        config.setParameter("element-content-whitespace", false);

        
        return builder.parse(input);
    }

    
    public static DOMImplementation getDOMImplementation() {
        try {
            DOMImplementationRegistry registry = DOMImplementationRegistry
                    .newInstance();
            return registry.getDOMImplementation("Core 3.0 XML 3.0 LS");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

 
继续阅读
编程十万个怎么办