View RSS Feed

My Java Tips

Using the DocumentBuilderFactory

Rate this Entry
by , 11-28-2011 at 07:02 PM (12118 Views)
In this post, I will present an example to show how to use the DocumentBuilderFactory.

First step is to import the required classes.

Java Code:

import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;

// DOM
import org.w3c.dom.Document;
import org.w3c.dom.DocumentType;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
Now lets come tot he real thing. We have to obtain an instance of DocumentBuilderFactory. Then we have to configure the factory to handle validation and namespaces.

We also need a DocumentBuilder instance, which is created using DocumentBuilderFactory instance. Now we may start parsing and the resultant DOM Document object is handed off to a method that prints the DOM tree.

Java Code:
public class TestDOMParsing {

    public static void main(String[] args) {
        try {
            if (args.length != 1) {
                System.err.println ("Usage: java TestDOMParsing " +
                System.exit (1);

            // Get Document Builder Factory
            DocumentBuilderFactory factory =

            // Turn on validation, and turn off namespaces

            DocumentBuilder builder = factory.newDocumentBuilder();
            Document doc = builder.parse(new File(args[0]));

            // Print the document from the DOM tree and
            //   feed it an initial indentation of nothing
            printNode(doc, "");

        } catch (ParserConfigurationException e) {
            System.out.println("The underlying parser does not " +
                               "support the requested features.");
        } catch (FactoryConfigurationError e) {
            System.out.println("Error occurred obtaining Document " +
                               "Builder Factory.");
        } catch (Exception e) {

    private static void printNode(Node node, String indent)  {
        // print the DOM tree


Submit "Using the DocumentBuilderFactory" to Facebook Submit "Using the DocumentBuilderFactory" to Digg Submit "Using the DocumentBuilderFactory" to Submit "Using the DocumentBuilderFactory" to StumbleUpon Submit "Using the DocumentBuilderFactory" to Google

Java EE