java.lang.Object
javax.xml.parsers.DocumentBuilder
定义了从XML文档获取DOM文档实例的API。使用这个类,应用程序员可以从XML中获取一个
Document。
可以通过DocumentBuilderFactory.newDocumentBuilder()方法获取此类的实例。一旦获取了此类的实例,就可以从各种输入源解析XML。这些输入源包括InputStreams、Files、URLs和SAX InputSources。
请注意,此类重用了SAX API中的几个类。这并不要求底层DOM实现的实现者使用SAX解析器将XML文档解析为Document。它只要求实现使用这些现有API与应用程序进行通信。
- 自版本:
- 1.4
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract DOMImplementation获取一个DOMImplementation对象的实例。获取XML处理器正在使用的Schema的引用。abstract boolean指示此解析器是否配置为理解命名空间。abstract boolean指示此解析器是否配置为验证XML文档。boolean获取此解析器的XInclude处理模式。abstract Document获取一个新的DOMDocument对象的实例,用于构建DOM树。将给定文件的内容解析为XML文档,并返回一个新的DOMDocument对象。parse(InputStream is) 将给定的InputStream的内容解析为XML文档,并返回一个新的DOMDocument对象。parse(InputStream is, String systemId) 将给定的InputStream的内容解析为XML文档,并返回一个新的DOMDocument对象。将给定URI的内容解析为XML文档,并返回一个新的DOMDocument对象。abstract Documentparse(InputSource is) 将给定输入源的内容解析为XML文档,并返回一个新的DOMDocument对象。voidreset()将此DocumentBuilder重置为其原始配置。abstract void指定用于解析要解析的XML文档中存在的实体的EntityResolver。abstract void指定解析器要使用的ErrorHandler。
-
Constructor Details
-
DocumentBuilder
protected DocumentBuilder()受保护的构造函数
-
-
Method Details
-
reset
public void reset()将此
DocumentBuilder重置为其原始配置。DocumentBuilder被重置为使用DocumentBuilderFactory.newDocumentBuilder()创建时的相同状态。reset()旨在允许重用现有的DocumentBuilder,从而节省与创建新DocumentBuilder相关的资源。重置的
DocumentBuilder不能保证具有相同的EntityResolver或ErrorHandlerObject,例如Object.equals(Object obj)。它保证具有功能上相等的EntityResolver和ErrorHandler。- 抛出:
-
UnsupportedOperationException- 当实现未覆盖此方法时。 - 自版本:
- 1.5
-
parse
- 参数:
-
is- 包含要解析内容的InputStream。 - 返回:
-
解析
InputStream的Document结果 - 抛出:
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当is为null时 - 参见:
-
parse
- 参数:
-
is- 包含要解析内容的InputStream。 -
systemId- 提供用于解析相对URI的基础。 - 返回:
- 一个新的DOM Document对象。
- 抛出:
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当is为null时 - 参见:
-
parse
- 参数:
-
uri- 要解析内容的位置。 - 返回:
- 一个新的DOM Document对象。
- 抛出:
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当uri为null时 - 参见:
-
parse
- 参数:
-
f- 包含要解析的XML的文件。 - 返回:
- 一个新的DOM Document对象。
- 抛出:
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当f为null时 - 参见:
-
parse
- 参数:
-
is- 包含要解析内容的InputSource。 - 返回:
- 一个新的DOM Document对象。
- 抛出:
-
IOException- 如果发生任何IO错误。 -
SAXException- 如果发生任何解析错误。 -
IllegalArgumentException- 当is为null时 - 参见:
-
isNamespaceAware
public abstract boolean isNamespaceAware()指示此解析器是否配置为理解命名空间。- 返回:
- 如果此解析器配置为理解命名空间,则为true;否则为false。
-
isValidating
public abstract boolean isValidating()指示此解析器是否配置为验证XML文档。- 返回:
- 如果此解析器配置为验证XML文档,则为true;否则为false。
-
setEntityResolver
指定要用于解析要解析的XML文档中存在的实体的EntityResolver。将其设置为null将导致底层实现使用自己的默认实现和行为。- 参数:
-
er- 要用于解析要解析的XML文档中存在的实体的EntityResolver。
-
setErrorHandler
指定要由解析器使用的ErrorHandler。将其设置为null将导致底层实现使用自己的默认实现和行为。- 参数:
-
eh- 要由解析器使用的ErrorHandler。
-
newDocument
获取一个用于构建DOM树的DOMDocument对象的新实例。- 返回:
- 一个DOM Document对象的新实例。
-
getDOMImplementation
获取一个DOMImplementation对象的实例。- 返回:
-
一个
DOMImplementation的新实例。
-
getSchema
获取XML处理器正在使用的
Schema的引用。如果未使用模式,则返回
null。- 返回:
-
正在使用的
Schema或如果未使用则返回null - 抛出:
-
UnsupportedOperationException- 当实现未覆盖此方法时 - 自:
- 1.5
-
isXIncludeAware
public boolean isXIncludeAware()获取此解析器的XInclude处理模式。
- 返回:
-
当此解析器是从工厂创建时,
DocumentBuilderFactory.isXIncludeAware()的返回值。 - 抛出:
-
UnsupportedOperationException- 当实现未覆盖此方法时 - 自:
- 1.5
- 参见:
-