Welcome to dom4j!
dom4j is an easy to use, open source library for working with XML, XPath and
XSLT on the Java platform using the Java Collections Framework and with full
support for DOM, SAX and JAXP.
News
- dom4j 1.6.1 has been relased! This is a bugfix relase. Take a look at the changelog to see what has changed.
- dom4j 1.6 has been released! Take a look at the changelog to see what has changed.
- JetBrains was so kind to provide an open-source license of its famous
IntelliJ IDEA product.
- The internal Aelfred2 parser has been removed from the dom4j codebase due to an incompatible license. You can download a version
of dom4j without Aelfred2 from the downloads page.
- A maintenance relase of dom4j is available. Click here to see what has changed in dom4j 1.5.1.
- dom4j 1.5 is finally released! A list of changes can be found here.
- dom4j now has an open source license for the use of Clover
- RefactorIT has added dom4j to it's list of featured open source projects. This means that all
the power of RefactorIT is available for the dom4j sources.
- The new dom4j 1.4 release is finally out featuring numerous bug fixes and patches.
- Check out these new Performance Benchmarks comparing dom4j and Jaxen against Xerces and Xalan.
- The new dom4j 1.3 release is out featuring numerous bug fixes and patches.
- Check out Dennis Sosnoski's new article for IBM comparing various XML object models - its good stuff.
- The new dom4j 1.2 release is out featuring improved whitespace handling
for more efficient parsing, a new Swing TableModel for displaying XML data in Swing and numerous bug fixes and patches.
- The Velocity projects new
DVSL technology uses dom4j.
- Interesting article
outlining the social dominance of DOM and SAX and the importance of XPath.
- The new dom4j 1.1 release is out featuring support for DTD declarations and
numerous bug fixes and patches.
- Read the latest performance benchmarks
on IBM's site comparing dom4j against all the other XML document models.
- The new dom4j 1.0 release is out featuring better SAX and Jaxen support,
some performance tuning and numerous patches.
- Sun's reference implementation of JAXM
(Java API for XML Messaging) is based on dom4j!
- The new dom4j 0.9 release is out featuring full Jaxen support!
- Toby's cookbook is now online!
- Updated the quick start guide
Features
- designed for the Java platform with full support for the
Java Collections Framework
(Java 2 Collections)
- full support for
JAXP,
TrAX,
SAX,
DOM,
and XSLT
- fully integrated
XPath
support for easy navigation of XML documents
- event based proccessing mode to support for massive documents or XML streams
- based on Java interfaces for flexible plug and play implementations.
- support for
XML Schema Data Type
support using Kohsuke Kawaguchi's excellent
Multi Schema Validator library
Getting Started
You can download the current release
or a snapshot build via the download page.
For a quick overview of dom4j and how to use it try the reading the
quick start guide or browsing the
FAQ or the online
JavaDoc.
To see how dom4j compares to other XML object models you could try
reading our comparison
Contributors are welcome to join this project.
Once you've browsed the FAQ you could try
sending an email to one of the mailing lists below or check out the
project page.
Useful Links
We really like XPath and if you are working with XML we highly recommend
you try to experiment with it. If you need help learning XPath
try the excellent
Zvon tutorial
.
Alternatively you could try Elliotte Rusty Harold's great
XML in a nutshell
.
Finally you could try reading the
XPath spec.
Mailing Lists
For developers there is an email list at
dom4j-dev
where you can make requests for new features or changes to the API,
discuss alternate implementation strategies, submit patches or just
talk about any relevant topic of the day.
For dom4j users wanting help using dom4j there is an email list at
dom4j-user
where you can share ideas and experiences, ask for help,
give us feedback or discuss your requirements.
You can browse the archives for here
dom4j-dev
or here
dom4j-dev
and here
dom4j-user
or here
dom4j-user