java.lang.Objectjavax.xml.parsers.DocumentBuilder
public abstract class DocumentBuilder
定义 API, 使其从 XML 文档获取 DOM 文档实例。使用此类,应用程序员可以从 XML 获取一个 Document。
此类的实例可以从 DocumentBuilderFactory.newDocumentBuilder() 方法获取。获取此类的实例之后,将可以从各种输入源解析 XML。 这些输入源有 InputStreams、Files、URL 和 SAX InputSources。
注意,此类重用了 SAX API 中的一些类。这并不要求底层 DOM 实现的实现者使用 SAX 解析器将 XML 文档解析为 Document。它仅要求该实现使用这些现有的 API 与应用程序交流。
| 构造方法摘要 | |
|---|---|
protected |
DocumentBuilder() 受保护的构造方法 |
| 方法摘要 | |
|---|---|
abstract DOMImplementation |
getDOMImplementation() 获取 DOMImplementation 对象的一个实例。 |
Schema |
getSchema() 获取由 XML 处理器使用的 Schema 的引用。 |
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) 指定使用 EntityResolver 解析要解析的 XML 文档中存在的实体。 |
abstract void |
setErrorHandler(ErrorHandler eh) 指定解析器要使用的 ErrorHandler。 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| 构造方法详细信息 |
|---|
protected DocumentBuilder()
| 方法详细信息 |
|---|
public void reset()
将此 DocumentBuilder 重置为其原始配置。
DocumentBuilder 被重置为使用 DocumentBuilderFactory.newDocumentBuilder() 创建它时的状态。设计 reset() 旨在允许重用现有的 DocumentBuilder,从而节省与创建新的 DocumentBuilder 相关的资源。
重置的 DocumentBuilder 不能保证具有相同的 EntityResolver 或 ErrorHandler Object,如 Object.equals(Object obj)。可以保证具有功能相等的 EntityResolver 和 ErrorHandler。
UnsupportedOperationException - 当实现没有重写此方法时。
public Document parse(InputStream is) throws SAXException, IOException
InputStream 的内容解析为一个 XML 文档,并且返回一个新的 DOM
Document 对象。如果
InputStream 为 null,则抛出
IllegalArgumentException。
is - 包含要解析内容的 InputStream。
InputStream 的
Document 结果。
IOException - 如果发生任何 IO 错误。
SAXException - 如果发生任何解析错误。
IllegalArgumentException - 当
is 为
null 时
DocumentHandler
public Document parse(InputStream is, String systemId) throws SAXException, IOException
InputStream 的内容解析为一个 XML 文档,并且返回一个新的 DOM
Document 对象。如果
InputStream 为 null,则抛出
IllegalArgumentException。
is - 包含要解析内容的 InputStream。
systemId - 提供一个与解析相关的 URI 的基础。
IOException - 如果发生任何 IO 错误。
SAXException - 如果发生任何解析错误。
IllegalArgumentException - 当
is 为
null 时
DocumentHandler
public Document parse(String uri) throws SAXException, IOException
Document 对象。如果 URI 为
null,则抛出
IllegalArgumentException。
uri - 要解析的内容的位置。
IOException - 如果发生任何 IO 错误。
SAXException - 如果发生任何解析错误。
IllegalArgumentException - 当
uri 为
null 时
DocumentHandler
public Document parse(File f) throws SAXException, IOException
Document 对象。如果
File 为
null,则抛出
IllegalArgumentException。
f - 包含要解析的 XML 的文件。
IOException - 如果发生任何 IO 错误。
SAXException - 如果发生任何解析错误。
IllegalArgumentException - 当
f 为
null 时
DocumentHandler
public abstract Document parse(InputSource is) throws SAXException, IOException
Document 对象。如果
InputSource 为
null,则抛出
IllegalArgumentException。
is - 包含要解析内容的 InputSource。
IOException - 如果发生任何 IO 错误。
SAXException - 如果发生任何解析错误。
IllegalArgumentException - 当
is 为
null 时
DocumentHandler
public abstract boolean isNamespaceAware()
public abstract boolean isValidating()
public abstract void setEntityResolver(EntityResolver er)
EntityResolver 解析要解析的 XML 文档中存在的实体。将其设置为
null 将会导致底层实现使用其自身的默认实现和行为。
er -
EntityResolver,用于解析要解析的 XML 文档中存在的实体。
public abstract void setErrorHandler(ErrorHandler eh)
ErrorHandler。将其设置为
null 将会导致底层实现使用其自身的默认实现和行为。
eh - 解析器将要使用的
ErrorHandler。
public abstract Document newDocument()
Document 对象的一个新实例来生成一个 DOM 树。
public abstract DOMImplementation getDOMImplementation()
DOMImplementation 对象的一个实例。
DOMImplementation 实例。
public Schema getSchema()
获取由 XML 处理器使用的 Schema 的引用。
如果没有使用 schema,则返回 null。
Schema,如果一个也没有使用,则返回
null
UnsupportedOperationException - 当实现没有重写此方法时
public boolean isXIncludeAware()
获取此解析器的 XInclude 处理模式。
DocumentBuilderFactory.isXIncludeAware() 的返回值。
UnsupportedOperationException - 当实现没有重写此方法时
DocumentBuilderFactory.setXIncludeAware(boolean)