- java.lang.Object
-
- javax.xml.parsers.DocumentBuilder
-
public abstract class DocumentBuilder extends Object
定义从XML文档获取DOM文档实例的API。 使用这个类,应用程序员可以从XML获得一个Document。这个类的一个实例可以从
DocumentBuilderFactory.newDocumentBuilder()方法获得。 一旦获得此类的实例,可以从各种输入源解析XML。 这些输入源是InputStreams,Files,URL和SAX InputSources。请注意,该类从SAX API重用了几个类。 这不要求底层DOM实现的实现者使用SAX解析器将XML文档解析为
Document。 它只需要实现使用这些现有API与应用程序通信。- 从以下版本开始:
- 1.4
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protectedDocumentBuilder()受保护的构造函数
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 abstract DOMImplementationgetDOMImplementation()获取一个DOMImplementation对象的实例。SchemagetSchema()参考由XML处理器使用的Schema。abstract booleanisNamespaceAware()指示此解析器是否配置为了解命名空间。abstract booleanisValidating()指示此解析器是否配置为验证XML文档。booleanisXIncludeAware()获取此解析器的XInclude处理模式。abstract DocumentnewDocument()获取DOMDocument对象的新实例以构建一个DOM树。Documentparse(File f)将给定文件的内容解析为XML文档,并返回一个新的DOMDocument对象。Documentparse(InputStream is)将给定的InputStream的内容解析为XML文档并返回一个新的DOMDocument对象。Documentparse(InputStream is, String systemId)将给定的InputStream的内容解析为XML文档,并返回一个新的DOMDocument对象。Documentparse(String uri)将给定URI的内容解析为XML文档,并返回一个新的DOMDocument对象。abstract Documentparse(InputSource is)将给定输入源的内容解析为XML文档,并返回一个新的DOMDocument对象。voidreset()将此DocumentBuilder重置为原始配置。abstract voidsetEntityResolver(EntityResolver er)指定要用于解析要解析的XML文档中存在的实体的EntityResolver。abstract voidsetErrorHandler(ErrorHandler eh)指定解析器使用的ErrorHandler。
-
-
-
方法详细信息
-
reset
public void reset()
将此
DocumentBuilder重置为其原始配置。DocumentBuilder被重置为与使用DocumentBuilderFactory.newDocumentBuilder()创建时相同的状态。reset()旨在允许现有的DocumentBuilders的重用,从而节省与新的DocumentBuilders的创建相关的资源。复位
DocumentBuilder不能保证具有相同EntityResolver个或者ErrorHandlerObjectS,如Object.equals(Object obj)。 保证功能相当于EntityResolver和ErrorHandler。- 异常
-
UnsupportedOperationException- 实现时不覆盖此方法。 - 从以下版本开始:
- 1.5
-
parse
public Document parse(InputStream is) throws SAXException, IOException
将给定的InputStream的内容解析为XML文档,并返回一个新的DOMDocument对象。 如果InputStream为空,则抛出一个IllegalArgumentException。- 参数
-
is- 包含要解析的内容的InputStream。 - 结果
-
Document解析的结果InputStream - 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当is是null - 另请参见:
-
DocumentHandler
-
parse
public Document parse(InputStream is, String systemId) throws SAXException, IOException
将给定的InputStream的内容解析为XML文档,并返回一个新的DOMDocument对象。 如果InputStream为空,则抛出一个IllegalArgumentException。- 参数
-
is- 包含要解析的内容的InputStream。 -
systemId- 提供解决相对URI的基础。 - 结果
- 一个新的DOM文档对象。
- 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException-is为null - 另请参见:
-
DocumentHandler
-
parse
public Document parse(String uri) throws SAXException, IOException
将给定URI的内容解析为XML文档并返回一个新的DOMDocument对象。 如果URI为nullnull,则抛出一个IllegalArgumentException。- 参数
-
uri- 要解析的内容的位置。 - 结果
- 一个新的DOM文档对象。
- 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException-uri是null - 另请参见:
-
DocumentHandler
-
parse
public Document parse(File f) throws SAXException, IOException
将给定文件的内容解析为XML文档,并返回一个新的DOMDocument对象。 一个IllegalArgumentException如果抛出File为null空。- 参数
-
f- 包含要解析的XML的文件。 - 结果
- 一个新的DOM文档对象。
- 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当f是null - 另请参见:
-
DocumentHandler
-
parse
public abstract Document parse(InputSource is) throws SAXException, IOException
将给定输入源的内容解析为XML文档,并返回一个新的DOMDocument对象。 一个IllegalArgumentException如果抛出InputSource为null空。- 参数
-
is- 包含要解析的内容的InputSource。 - 结果
- 一个新的DOM文档对象。
- 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException-is是null - 另请参见:
-
DocumentHandler
-
isNamespaceAware
public abstract boolean isNamespaceAware()
指示此解析器是否配置为了解命名空间。- 结果
- 如果此解析器配置为了解命名空间,则为true; 否则为假。
-
isValidating
public abstract boolean isValidating()
指示此解析器是否配置为验证XML文档。- 结果
- 如果此解析器配置为验证XML文档,则为true; 否则为假。
-
setEntityResolver
public abstract void setEntityResolver(EntityResolver er)
指定要用于解析要解析的XML文档中存在的实体的EntityResolver。 将其设置为null将导致使用它自己的默认实现和行为的底层实现。- 参数
-
er- 要用于解析要解析的XML文档中存在的实体的EntityResolver。
-
setErrorHandler
public abstract void setErrorHandler(ErrorHandler eh)
指定解析器使用的ErrorHandler。 将其设置为null将导致使用它自己的默认实现和行为的底层实现。- 参数
-
eh- 解析器使用的ErrorHandler。
-
newDocument
public abstract Document newDocument()
获取DOMDocument对象的新实例以构建一个DOM树。- 结果
- 一个DOM文档对象的新实例。
-
getDOMImplementation
public abstract DOMImplementation getDOMImplementation()
获取一个DOMImplementation对象的实例。- 结果
-
一个新的实例
DOMImplementation。
-
getSchema
public Schema getSchema()
参考XML处理器使用的
Schema。如果没有使用模式,则返回
null。- 结果
-
Schema正在使用或null如果没有使用 - 异常
-
UnsupportedOperationException- 实现时不覆盖此方法 - 从以下版本开始:
- 1.5
-
isXIncludeAware
public boolean isXIncludeAware()
获取此解析器的XInclude处理模式。
- 结果
-
当这个解析器从工厂创建时,返回值为
DocumentBuilderFactory.isXIncludeAware()。 - 异常
-
UnsupportedOperationException- 实现时不覆盖此方法 - 从以下版本开始:
- 1.5
- 另请参见:
-
DocumentBuilderFactory.setXIncludeAware(boolean)
-
-