public abstract class DocumentBuilder extends Object
Document
。
这个类的一个实例可以从DocumentBuilderFactory.newDocumentBuilder()
方法获得。 一旦获得此类的实例,可以从各种输入源解析XML。 这些输入源是InputStreams,Files,URL和SAX InputSources。
请注意,该类从SAX API重用了几个类。 这不要求底层DOM实现的实现者使用SAX解析器将XML文档解析为Document
。 它只需要实现使用这些现有API与应用程序通信。
Modifier | Constructor and Description |
---|---|
protected |
DocumentBuilder()
受保护的构造函数
|
Modifier and Type | Method and Description |
---|---|
abstract DOMImplementation |
getDOMImplementation()
获取一个 DOMImplementation 对象的实例。
|
Schema |
getSchema()
获取到的基准 Schema 正在使用的XML处理器。
|
abstract boolean |
isNamespaceAware()
指示此解析器是否配置为了解命名空间。
|
abstract boolean |
isValidating()
指示此解析器是否配置为验证XML文档。
|
boolean |
isXIncludeAware()
获取此解析器的XInclude处理模式。
|
abstract Document |
newDocument()
获取DOM的新实例 Document 对象来构建一个DOM树。
|
Document |
parse(File f)
将给定文件的内容解析为XML文档,并返回一个新的DOM Document 对象。
|
abstract Document |
parse(InputSource is)
将给定输入源的内容解析为XML文档,并返回一个新的DOM Document 对象。
|
Document |
parse(InputStream is)
将给定的 InputStream 的内容解析为XML文档,并返回一个新的DOM Document 对象。
|
Document |
parse(InputStream is, String systemId)
将给定的 InputStream 的内容解析为XML文档,并返回一个新的DOM Document 对象。
|
Document |
parse(String uri)
将给定URI的内容解析为XML文档,并返回一个新的DOM Document 对象。
|
void |
reset()
将此
DocumentBuilder 重置为原始配置。
|
abstract void |
setEntityResolver(EntityResolver er)
指定要用于解析要解析的XML文档中存在的实体的 EntityResolver 。
|
abstract void |
setErrorHandler(ErrorHandler eh)
指定解析器使用的 ErrorHandler 。
|
public void reset()
将此DocumentBuilder
重置为原始配置。
DocumentBuilder
被重置为与使用DocumentBuilderFactory.newDocumentBuilder()
创建时相同的状态。 reset()
旨在允许现有的DocumentBuilder
s的重用,从而节省了与创建新的DocumentBuilder
的资源。
重置DocumentBuilder
不能保证具有相同的EntityResolver
或ErrorHandler
Object
s,例如Object.equals(Object obj)
。 保证功能相当于EntityResolver
和ErrorHandler
。
UnsupportedOperationException
- 实现时不覆盖此方法。
public Document parse(InputStream is) throws SAXException, IOException
InputStream
的内容解析为XML文档,并返回一个新的DOM Document
对象。
一个IllegalArgumentException
如果抛出InputStream
为空。
is
- 包含要解析的内容的InputStream。
Document
解析的结果
InputStream
IOException
- 如果发生任何IO错误。
SAXException
- 如果发生任何解析错误。
IllegalArgumentException
- 当
is
是
null
DocumentHandler
public Document parse(InputStream is, String systemId) throws SAXException, IOException
InputStream
的内容解析为XML文档并返回一个新的DOM Document
对象。
一个IllegalArgumentException
如果抛出InputStream
为空。
is
- 包含要解析的内容的InputStream。
systemId
- 提供解决相对URI的基础。
IOException
- 如果发生任何IO错误。
SAXException
- 如果发生任何解析错误。
IllegalArgumentException
- 当
is
是
null
DocumentHandler
public Document parse(String uri) throws SAXException, IOException
Document
对象。
一个IllegalArgumentException
如果URI是被抛出null
空。
uri
- 要解析的内容的位置。
IOException
- 如果发生任何IO错误。
SAXException
- 如果发生任何解析错误。
IllegalArgumentException
- 当
uri
是
null
DocumentHandler
public Document parse(File f) throws SAXException, IOException
Document
对象。
一个IllegalArgumentException
如果抛出File
是null
空。
f
- 包含要解析的XML的文件。
IOException
- 如果发生任何IO错误。
SAXException
- 如果发生任何解析错误。
IllegalArgumentException
- 当
f
是
null
DocumentHandler
public abstract Document parse(InputSource is) throws SAXException, IOException
Document
对象。
一个IllegalArgumentException
如果抛出InputSource
是null
空。
is
- 包含要解析的内容的InputSource。
IOException
- 如果发生任何IO错误。
SAXException
- 如果发生任何解析错误。
IllegalArgumentException
- 当
is
是
null
DocumentHandler
public abstract boolean isNamespaceAware()
public abstract boolean isValidating()
public abstract void setEntityResolver(EntityResolver er)
EntityResolver
。
将其设置为null
将导致使用它自己的默认实现和行为的底层实现。
er
- 要用于解析要解析的XML文档中存在的实体的
EntityResolver
。
public abstract void setErrorHandler(ErrorHandler eh)
ErrorHandler
。
将其设置为null
将导致使用它自己的默认实现和行为的底层实现。
eh
- 解析器使用的
ErrorHandler
。
public abstract DOMImplementation getDOMImplementation()
DOMImplementation
对象的实例。
DOMImplementation
。
public Schema getSchema()
获取到的基准Schema
正在使用的XML处理器。
如果没有使用模式,则返回null
。
Schema
正在使用或null
如果没有使用
UnsupportedOperationException
- 实现时不覆盖此方法
public boolean isXIncludeAware()
获取此解析器的XInclude处理模式。
DocumentBuilderFactory.isXIncludeAware()
。
UnsupportedOperationException
- 实现时不覆盖此方法
DocumentBuilderFactory.setXIncludeAware(boolean)