- java.lang.Object
-
- javax.xml.parsers.DocumentBuilder
-
public abstract class DocumentBuilder extends Object
定义API以从XML文档获取DOM Document实例。 使用此类,应用程序员可以从XML获取Document。可以从
DocumentBuilderFactory.newDocumentBuilder()方法获得该类的实例。 获得此类的实例后,可以从各种输入源解析XML。 这些输入源是InputStreams,Files,URL和SAX InputSources。请注意,此类重用SAX API中的几个类。 这并不要求底层DOM实现的实现者使用SAX解析器将XML文档解析为
Document。 它仅要求实现使用这些现有API与应用程序通信。- 从以下版本开始:
- 1.4
-
-
构造方法摘要
构造方法 变量 构造器 描述 protectedDocumentBuilder()受保护的构造函数
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 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()旨在允许重用现有的DocumentBuilder从而节省与创建新DocumentBuilder相关的资源。复位
DocumentBuilder不保证具有相同的EntityResolver或ErrorHandlerObjects,例如Object.equals(Object obj)。 它保证功能相同EntityResolver和ErrorHandler。- 异常
-
UnsupportedOperationException- 实现未覆盖此方法时。 - 从以下版本开始:
- 1.5
-
parse
public Document parse(InputStream is) throws SAXException, IOException
将给定的InputStream的内容解析为XML文档,并返回一个新的DOMDocument对象。 一个IllegalArgumentException如果抛出InputStream为空。- 参数
-
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对象。 一个IllegalArgumentException如果抛出InputStream为空。- 参数
-
is- 包含要解析的内容的InputStream。 -
systemId- 提供解析相对URI的基础。 - 结果
- 一个新的DOM Document对象。
- 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当is是null - 另请参见:
-
DocumentHandler
-
parse
public Document parse(String uri) throws SAXException, IOException
将给定URI的内容解析为XML文档,并返回一个新的DOMDocument对象。 一个IllegalArgumentException如果URI是被抛出null空。- 参数
-
uri- 要解析的内容的位置。 - 结果
- 一个新的DOM Document对象。
- 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当uri是null - 另请参见:
-
DocumentHandler
-
parse
public Document parse(File f) throws SAXException, IOException
将给定文件的内容解析为XML文档,并返回一个新的DOMDocument对象。 一个IllegalArgumentException如果抛出File为null空。- 参数
-
f- 包含要解析的XML的文件。 - 结果
- 一个新的DOM Document对象。
- 异常
-
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 Document对象。
- 异常
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当is是null - 另请参见:
-
DocumentHandler
-
isNamespaceAware
public abstract boolean isNamespaceAware()
指示此解析器是否配置为了解命名空间。- 结果
- 如果此解析器配置为了解名称空间,则为true; 否则是假的。
-
isValidating
public abstract boolean isValidating()
指示此解析器是否配置为验证XML文档。- 结果
- 如果此解析器配置为验证XML文档,则为true;否则为false。 否则是假的。
-
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 Document对象的新实例。
-
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)
-
-