JDOM provides a means of accessing an XML document within Java through a tree structure, and in that respect is somewhat similar to the DOM. However, it was built specifically for Java (remember the discussion in Chapter 5 on language bindings for the DOM?), so it is in many ways more intuitive to a Java developer than DOM. I’ll describe these aspects of JDOM throughout this chapter; I’ll also describe some specific cases in which to use SAX, DOM, or JDOM. And for the complete set of details on JDOM, you should check out the web site at http://www.jdom.org.
Additionally, and importantly, JDOM is an open source API. You have the ability to suggest and implement changes yourself. If you find that you like JDOM but are annoyed by one little thing, you can help investigate solutions to your problem.
Chapters 5 and 6 should have given you a pretty good understanding of dealing with XML tree representations. So when I say that JDOM also provides a tree-based representation of an XML document, that gives you a starting point for understanding how JDOM behaves. To help you see how the classes in JDOM match up to XML structures, take a look at Figure 9-1, which shows a UML model of JDOM’s core classes.
As you can see, the names of the classes tell the story. At the core of the JDOM structure
Document object, which is ...