spring源码解读

 首选创建DocumentBuilderFactory,然后通过DocumentBuilderFactory创建DocumentBuilder,然后解析inputSource来返回Document对象。关于对inputSource的解析。交给domParser去处理,涉及到dom解析的部分就不再展开。

1
2
3
4
5
6
7
8
9
10
11

public Document (InputSource inputSource, EntityResolver entityResolver,
ErrorHandler errorHandler, int validationMode, boolean namespaceAware) throws Exception {

DocumentBuilderFactory factory = createDocumentBuilderFactory(validationMode, namespaceAware);
if (logger.isTraceEnabled()) {
logger.trace("Using JAXP provider [" + factory.getClass().getName() + "]");
}
DocumentBuilder builder = createDocumentBuilder(factory, entityResolver, errorHandler);
return builder.parse(inputSource);
}