BetterXML
The BetterXML Project aims to create a set of processing tools that are well-suited to object oriented languages such as Java, Python, and C#. The emphasis is on using proper design patterns and going beyond most of the monolithic DOM tree formats out there.
To get started using the code, see the GettingStarted page. For an overview of the framework, consult our paper, Taming XML: First Objects, Then Markup.