- 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 描述 protected
DocumentBuilder()
受保护的构造函数
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 abstract DOMImplementation
getDOMImplementation()
获取一个DOMImplementation
对象的实例。Schema
getSchema()
参考由XML处理器使用的Schema
。abstract boolean
isNamespaceAware()
指示此解析器是否配置为了解命名空间。abstract boolean
isValidating()
指示此解析器是否配置为验证XML文档。boolean
isXIncludeAware()
获取此解析器的XInclude处理模式。abstract Document
newDocument()
获取DOMDocument
对象的新实例以构建一个DOM树。Document
parse(File f)
将给定文件的内容解析为XML文档,并返回一个新的DOMDocument
对象。Document
parse(InputStream is)
将给定的InputStream
的内容解析为XML文档并返回一个新的DOMDocument
对象。Document
parse(InputStream is, String systemId)
将给定的InputStream
的内容解析为XML文档,并返回一个新的DOMDocument
对象。Document
parse(String uri)
将给定URI的内容解析为XML文档,并返回一个新的DOMDocument
对象。abstract Document
parse(InputSource is)
将给定输入源的内容解析为XML文档,并返回一个新的DOMDocument
对象。void
reset()
将此DocumentBuilder
重置为原始配置。abstract void
setEntityResolver(EntityResolver er)
指定要用于解析要解析的XML文档中存在的实体的EntityResolver
。abstract void
setErrorHandler(ErrorHandler eh)
指定解析器使用的ErrorHandler
。
-
-
-
方法详细信息
-
reset
public void reset()
将此
DocumentBuilder
重置为其原始配置。DocumentBuilder
被重置为与使用DocumentBuilderFactory.newDocumentBuilder()
创建时相同的状态。reset()
旨在允许现有的DocumentBuilder
s的重用,从而节省与新的DocumentBuilder
s的创建相关的资源。复位
DocumentBuilder
不能保证具有相同EntityResolver
个或者ErrorHandler
Object
S,如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为null
null,则抛出一个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)
-
-