Sun Java System Application Server 

Samples Index

The XML DOM Sample Application

This sample application demonstrates the use of the XML Document Object Model (DOM). It reads an XML file and generates a DOM Document object from it, demonstrates the use of an error handler, and shows the structure and contents of a DOM tree.

Note: This sample is not a browser-based or Java Enterprise application. It is runs from the command-line and displays output in a shell (terminal) window.

The application reads an XML file and generates a DOM Document object from it following these steps:

  1. Create a DocumentBuilderFactory and setNamespaceAware as follows:
    DocumentBuilderFactory dbf =
    DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);
  2. Create a DocumentBuilder as follows:
    DocumentBuilder db = dbf.newDocumentBuilder();
  3. Parse the input file to get a Document object as follows:
    Document doc = db.parse(new File(filename);

Building, Deploying, and Running the Application

The general instructions for building sample applications are provided in Building, Deploying, and Running Sample Applications. In reading this document, use the following application-specific variables for this application:

Follow this general procedure to build the application. The build file, build.xml, is in the app_dir directory, specifically, install_dir/samples/xml/apps/dom.

This application does not require deployment.

To run the application, change your default directory to install_dir/samples/xml/apps/dom and type asant run.

The sample displays the following information:

[java] DOC: nodeName="#document"
[java] ELEM: nodeName="examples" local="examples"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="section" uri="http://www.example.com/books-r-us" local="section"
[java] ATTR: nodeName="xmlns" uri="http://www.w3.org/2000/xmlns/" local="xmlns" nodeValue="http://www.example.com/books-r-us"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="title" uri="http://www.example.com/books-r-us" local="title"
[java] TEXT: nodeName="#text" nodeValue="Book-Signing Event"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="signing" uri="http://www.example.com/books-r-us" local="signing"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="author" uri="http://www.example.com/books-r-us" local="author"
[java] ATTR: nodeName="title" local="title" nodeValue="Mr."
[java] ATTR: nodeName="name" local="name" nodeValue="Vikram Seth"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="book" uri="http://www.example.com/books-r-us" local="book"
[java] ATTR: nodeName="title" local="title" nodeValue="A Suitable Boy"
[java] ATTR: nodeName="price" local="price" nodeValue="$2295"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="reservation" local="reservation"
[java] ATTR: nodeName="xmlns:html" uri="http://www.w3.org/2000/xmlns/" pre="xmlns" local="html" nodeValue="http://www.w3.org/TR/REC-html40"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="name" local="name"
[java] ATTR: nodeName="html:class" uri="http://www.w3.org/TR/REC-html40" pre="html" local="class" nodeValue="largeSansSerif"
[java] TEXT: nodeName="#text" nodeValue="Seth, Vikram"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="seat" local="seat"
[java] ATTR: nodeName="class" local="class" nodeValue="Y"
[java] ATTR: nodeName="html:class" uri="http://www.w3.org/TR/REC-html40" pre="html" local="class" nodeValue="largeMonotype"
[java] TEXT: nodeName="#text" nodeValue="33B"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="html:a" uri="http://www.w3.org/TR/REC-html40" pre="html" local="a"
[java] ATTR: nodeName="href" local="href" nodeValue="/servlets/ResStatus"
[java] TEXT: nodeName="#text" nodeValue="Check Status"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] ELEM: nodeName="departure" local="departure"
[java] TEXT: nodeName="#text" nodeValue="1997-05-24T19:22:00+5"
[java] TEXT: nodeName="#text" nodeValue=[WS]
[java] TEXT: nodeName="#text" nodeValue=[WS]

Troubleshooting

If you can't compile the application, make sure you have asant in your PATH environment variable.

If you don't receive the required results, or you receive an error, make sure you have XML data files under /samples/xml/apps/data directory.



Copyright © 2006 Sun Microsystems, Inc. All rights reserved.