Comparison

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 DOMdom4jJDOM
Open SourceYesYesYes
Based on Java InterfacesYesYesNo
Supports Java 2 CollectionsNoYesYes
Can use any SAX parser and XMLFilterYes (usually)YesYes
Convert to and from DOM treesYesYesYes
Can implement DOM interfacs nativelyYesYes (optional)No
Integrated XPath API supportNoYesNo
Bundled XPath implementationNoYesOptional
Support for JAXP/TrAX for XSLT integrationYesYesOptional
Event based processing supportPossibleYesNo
Capable of processing a continuous XML streamsDon't knowYesNo
Capable of processing massive documentsDon't knowYesNo
XML Schema Data Type supportNoYes (alpha)No

Performance

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.