- 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
-
-
构造方法摘要
构造方法 变量 构造器 描述 protected
DocumentBuilder()
受保护的构造函数
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 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
从而节省与创建新DocumentBuilder
相关的资源。复位
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
对象。 一个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)
-
-