I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Spoilt For Choice: How You Voted in the XML Library Poll

05.05.2010
| 4141 views |
  • submit to reddit

Last week I put together a poll to find out what people use to handle XML in their Java applications these days. Thanks to the participation of those who voted and left comments, I got a good picture of what libraries and techniques people are utilizing to handle XML in Java.

First to the poll results, from almost 800 people there was a wide variety of methods used. It seems that the days of DOM and SAX being the predominant choices are almost gone, with 39% of developers taking advantage of JAXB. 

 

Reading through the comments here it was great to see people taking advantages of other languages on the JVM for XML, such as Groovy and Scala.  Apart from those who used different languages like this, here is a complete list of other frameworks that you recommended for XML processing: 

  • dom4j
    Support for DOM, SAX and JAXP. Seems full featured to me
  • xstream
    Serialize to and from XML
  • VTD-XML
    Fast, memory efficient XML processor 
  • Joost
    Implementation of Streaming Transformations for XML that builds on top of SAX.
  • SimpleXML
    Looks like a really straightforward way to handle XML. 
  • XMLBeans
    Useful XML binding-to-beans option
  • StAX
    Streaming API for XML implementation of the JSR-173 specification
  • JDOM
    A Java DOM implementation
  • Castor
    A reliable XML binding solution, with tools to generate objects from schemas, similar to JAXB.
  • Spring OXM
    Provides Object - XML mapping support.
  • Apache Digester
    Provides a configuration of an object-xml mapping module for reading and using XML configurations.
  • WAX
    Writing API for XML. Similar to SAX, except it allows writing back to XML.

That's a pretty comprehensive rundown of frameworks, and one which leads to a very valid point from one reader:

Seriously, people, where's this fascination in Java coming from? How many home-grown loggers, web frameworks, ORM solutions and XML parsers do we really need? 

On one hand, all of these frameworks can be a good thing - there's a lot of choice out there. But on the other hand, wouldn't it be overwhelming if you were to start working in Java and have all of these options presented to you, trying to work out which best suits your needs.  

Tags: