java.lang.Object javax.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)