This page attempts to survey the landscape of available XML object models and compare and contrast their features. The information in this table is correct to the best of our knowledge and we will try and keep this information as up to date as possible. If you think there's anything wrong, please let us know here.

FeatureWC3 DOMDOM4J 1.5JDOM 1.0XOM 1.O
Open SourceYesYesYesYes
Based on Java InterfacesYesYesNoNo
Supports Java 2 CollectionsNoYesYesNo
Can use any SAX parser and XMLFilterYes (usually)YesYesYes
Convert to and from DOM treesYesYesYesYes
Implements DOM interfacesYesYes (optional)NoNo
Integrated XPath API supportNoYesNoNo
Bundled XPath implementationNoYesOptionalNo
Support for JAXP/TrAX for XSLT integrationYesYesYesYes
Capable of processing a continuous XML streamsDon't knowYesNoYes
Capable of processing massive documentsDon't knowYesNoYes
XML Schema Data Type supportNoYesNoDon't know
XInclude supportDon't knowNoNoYes
Canonical XML supportDon't knowNoNoYes


Dennis Sosnoski has published an interesting article on IBM's developerWorks which compares the performance of a variety of XML document models for the Java platform including dom4j. You can find the very interesting results here.

Also you might find these new Performance Benchmarks interesting comparing dom4j and Jaxen against Xerces and Xalan.