JavaXMLFrag
Combined tree-based/event-based XML parser in Java
Traditionally, XML is parsed either by an event-based parser or by a tree-based parser. Event-based parsers are fast and have minimal memory consumption, but implementing the event handlers is cumbersome. Tree-based parsers result in code that is easier to develop, to understand and to maintain, but have high memory consumption as the whole parse tree needs to be kept in memory at the same time. JavaXMLFrag is a partial parse tree based parser, where only parts of the parse tree need to be kept in memory at the same time. It therefore combines the benefits of tree-based parsers and event-based parsers.