DocumentBuilder (Java SE 11 & JDK 11 ) (original) (raw)
- javax.xml.parsers.DocumentBuilder
public abstract class DocumentBuilder
extends Object
Defines the API to obtain DOM Document instances from an XML document. Using this class, an application programmer can obtain aDocument from XML.
An instance of this class can be obtained from theDocumentBuilderFactory.newDocumentBuilder() method. Once an instance of this class is obtained, XML can be parsed from a variety of input sources. These input sources are InputStreams, Files, URLs, and SAX InputSources.
Note that this class reuses several classes from the SAX API. This does not require that the implementor of the underlying DOM implementation use a SAX parser to parse XML document into aDocument
. It merely requires that the implementation communicate with the application using these existing APIs.
Since:
1.4
Constructor Summary
Constructors
Modifier Constructor Description protected DocumentBuilder() Protected constructor Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods
Modifier and Type Method Description abstract DOMImplementation getDOMImplementation() Obtain an instance of a DOMImplementation object. Schema getSchema() Get a reference to the the Schema being used by the XML processor. abstract boolean isNamespaceAware() Indicates whether or not this parser is configured to understand namespaces. abstract boolean isValidating() Indicates whether or not this parser is configured to validate XML documents. boolean isXIncludeAware() Get the XInclude processing mode for this parser. abstract Document newDocument() Obtain a new instance of a DOM Document object to build a DOM tree with. Document parse(File f) Parse the content of the given file as an XML document and return a new DOM Document object. Document parse(InputStream is) Parse the content of the given InputStream as an XML document and return a new DOM Document object. Document parse(InputStream is,String systemId) Parse the content of the given InputStream as an XML document and return a new DOM Document object. Document parse(String uri) Parse the content of the given URI as an XML document and return a new DOM Document object. abstract Document parse(InputSource is) Parse the content of the given input source as an XML document and return a new DOM Document object. void reset() Reset this DocumentBuilder to its original configuration. abstract void setEntityResolver(EntityResolver er) Specify the EntityResolver to be used to resolve entities present in the XML document to be parsed. abstract void setErrorHandler(ErrorHandler eh) Specify the ErrorHandler to be used by the parser. * ### Methods declared in class java.lang.[Object](../../../../java.base/java/lang/Object.html "class in java.lang") `[clone](../../../../java.base/java/lang/Object.html#clone%28%29), [equals](../../../../java.base/java/lang/Object.html#equals%28java.lang.Object%29), [finalize](../../../../java.base/java/lang/Object.html#finalize%28%29), [getClass](../../../../java.base/java/lang/Object.html#getClass%28%29), [hashCode](../../../../java.base/java/lang/Object.html#hashCode%28%29), [notify](../../../../java.base/java/lang/Object.html#notify%28%29), [notifyAll](../../../../java.base/java/lang/Object.html#notifyAll%28%29), [toString](../../../../java.base/java/lang/Object.html#toString%28%29), [wait](../../../../java.base/java/lang/Object.html#wait%28%29), [wait](../../../../java.base/java/lang/Object.html#wait%28long%29), [wait](../../../../java.base/java/lang/Object.html#wait%28long,int%29)`
Constructor Detail
* #### DocumentBuilder protected DocumentBuilder() Protected constructor
Method Detail
* #### reset public void reset() Reset this `DocumentBuilder` to its original configuration. `DocumentBuilder` is reset to the same state as when it was created with[DocumentBuilderFactory.newDocumentBuilder()](DocumentBuilderFactory.html#newDocumentBuilder%28%29).`reset()` is designed to allow the reuse of existing `DocumentBuilder`s thus saving resources associated with the creation of new `DocumentBuilder`s. The reset `DocumentBuilder` is not guaranteed to have the same [EntityResolver](../../../org/xml/sax/EntityResolver.html "interface in org.xml.sax") or [ErrorHandler](../../../org/xml/sax/ErrorHandler.html "interface in org.xml.sax") `Object`s, e.g. [Object.equals(Object obj)](../../../../java.base/java/lang/Object.html#equals%28java.lang.Object%29). It is guaranteed to have a functionally equal`EntityResolver` and `ErrorHandler`. Throws: `[UnsupportedOperationException](../../../../java.base/java/lang/UnsupportedOperationException.html "class in java.lang")` \- When implementation does not override this method. Since: 1.5 * #### parse public [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") parse([InputStream](../../../../java.base/java/io/InputStream.html "class in java.io") is) throws [SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax"), [IOException](../../../../java.base/java/io/IOException.html "class in java.io") Parse the content of the given `InputStream` as an XML document and return a new DOM [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") object. An `IllegalArgumentException` is thrown if the`InputStream` is null. Parameters: `is` \- InputStream containing the content to be parsed. Returns: `Document` result of parsing the`InputStream` Throws: `[IOException](../../../../java.base/java/io/IOException.html "class in java.io")` \- If any IO errors occur. `[SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax")` \- If any parse errors occur. `[IllegalArgumentException](../../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")` \- When `is` is `null` See Also: [DocumentHandler](../../../org/xml/sax/DocumentHandler.html "interface in org.xml.sax") * #### parse public [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") parse([InputStream](../../../../java.base/java/io/InputStream.html "class in java.io") is, [String](../../../../java.base/java/lang/String.html "class in java.lang") systemId) throws [SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax"), [IOException](../../../../java.base/java/io/IOException.html "class in java.io") Parse the content of the given `InputStream` as an XML document and return a new DOM [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") object. An `IllegalArgumentException` is thrown if the`InputStream` is null. Parameters: `is` \- InputStream containing the content to be parsed. `systemId` \- Provide a base for resolving relative URIs. Returns: A new DOM Document object. Throws: `[IOException](../../../../java.base/java/io/IOException.html "class in java.io")` \- If any IO errors occur. `[SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax")` \- If any parse errors occur. `[IllegalArgumentException](../../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")` \- When `is` is `null` See Also: [DocumentHandler](../../../org/xml/sax/DocumentHandler.html "interface in org.xml.sax") * #### parse public [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") parse([String](../../../../java.base/java/lang/String.html "class in java.lang") uri) throws [SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax"), [IOException](../../../../java.base/java/io/IOException.html "class in java.io") Parse the content of the given URI as an XML document and return a new DOM [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") object. An `IllegalArgumentException` is thrown if the URI is `null` null. Parameters: `uri` \- The location of the content to be parsed. Returns: A new DOM Document object. Throws: `[IOException](../../../../java.base/java/io/IOException.html "class in java.io")` \- If any IO errors occur. `[SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax")` \- If any parse errors occur. `[IllegalArgumentException](../../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")` \- When `uri` is `null` See Also: [DocumentHandler](../../../org/xml/sax/DocumentHandler.html "interface in org.xml.sax") * #### parse public [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") parse([File](../../../../java.base/java/io/File.html "class in java.io") f) throws [SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax"), [IOException](../../../../java.base/java/io/IOException.html "class in java.io") Parse the content of the given file as an XML document and return a new DOM [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") object. An `IllegalArgumentException` is thrown if the`File` is `null` null. Parameters: `f` \- The file containing the XML to parse. Returns: A new DOM Document object. Throws: `[IOException](../../../../java.base/java/io/IOException.html "class in java.io")` \- If any IO errors occur. `[SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax")` \- If any parse errors occur. `[IllegalArgumentException](../../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")` \- When `f` is `null` See Also: [DocumentHandler](../../../org/xml/sax/DocumentHandler.html "interface in org.xml.sax") * #### parse public abstract [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") parse([InputSource](../../../org/xml/sax/InputSource.html "class in org.xml.sax") is) throws [SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax"), [IOException](../../../../java.base/java/io/IOException.html "class in java.io") Parse the content of the given input source as an XML document and return a new DOM [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") object. An `IllegalArgumentException` is thrown if the`InputSource` is `null` null. Parameters: `is` \- InputSource containing the content to be parsed. Returns: A new DOM Document object. Throws: `[IOException](../../../../java.base/java/io/IOException.html "class in java.io")` \- If any IO errors occur. `[SAXException](../../../org/xml/sax/SAXException.html "class in org.xml.sax")` \- If any parse errors occur. `[IllegalArgumentException](../../../../java.base/java/lang/IllegalArgumentException.html "class in java.lang")` \- When `is` is `null` See Also: [DocumentHandler](../../../org/xml/sax/DocumentHandler.html "interface in org.xml.sax") * #### isNamespaceAware public abstract boolean isNamespaceAware() Indicates whether or not this parser is configured to understand namespaces. Returns: true if this parser is configured to understand namespaces; false otherwise. * #### isValidating public abstract boolean isValidating() Indicates whether or not this parser is configured to validate XML documents. Returns: true if this parser is configured to validate XML documents; false otherwise. * #### setEntityResolver public abstract void setEntityResolver([EntityResolver](../../../org/xml/sax/EntityResolver.html "interface in org.xml.sax") er) Specify the [EntityResolver](../../../org/xml/sax/EntityResolver.html "interface in org.xml.sax") to be used to resolve entities present in the XML document to be parsed. Setting this to `null` will result in the underlying implementation using it's own default implementation and behavior. Parameters: `er` \- The `EntityResolver` to be used to resolve entities present in the XML document to be parsed. * #### setErrorHandler public abstract void setErrorHandler([ErrorHandler](../../../org/xml/sax/ErrorHandler.html "interface in org.xml.sax") eh) Specify the [ErrorHandler](../../../org/xml/sax/ErrorHandler.html "interface in org.xml.sax") to be used by the parser. Setting this to `null` will result in the underlying implementation using it's own default implementation and behavior. Parameters: `eh` \- The `ErrorHandler` to be used by the parser. * #### newDocument public abstract [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") newDocument() Obtain a new instance of a DOM [Document](../../../org/w3c/dom/Document.html "interface in org.w3c.dom") object to build a DOM tree with. Returns: A new instance of a DOM Document object. * #### getDOMImplementation public abstract [DOMImplementation](../../../org/w3c/dom/DOMImplementation.html "interface in org.w3c.dom") getDOMImplementation() Returns: A new instance of a `DOMImplementation`. * #### getSchema public [Schema](../validation/Schema.html "class in javax.xml.validation") getSchema() Get a reference to the the [Schema](../validation/Schema.html "class in javax.xml.validation") being used by the XML processor. If no schema is being used, `null` is returned. Returns: [Schema](../validation/Schema.html "class in javax.xml.validation") being used or `null` if none in use Throws: `[UnsupportedOperationException](../../../../java.base/java/lang/UnsupportedOperationException.html "class in java.lang")` \- When implementation does not override this method Since: 1.5 * #### isXIncludeAware public boolean isXIncludeAware() Get the XInclude processing mode for this parser. Returns: the return value of the [DocumentBuilderFactory.isXIncludeAware()](DocumentBuilderFactory.html#isXIncludeAware%28%29) when this parser was created from factory. Throws: `[UnsupportedOperationException](../../../../java.base/java/lang/UnsupportedOperationException.html "class in java.lang")` \- When implementation does not override this method Since: 1.5 See Also: [DocumentBuilderFactory.setXIncludeAware(boolean)](DocumentBuilderFactory.html#setXIncludeAware%28boolean%29)
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.