JiBX is a tool for binding XML data to Java objects. It’s extremely flexible, allowing you to start from existing Java code and generate an XML schema, start from an XML schema and generate Java code, or bridge your existing code to a schema that represents the same data. It also provides very high performance, outperforming all other Java data binding tools across a wide variety of tests.
How does JiBX manage to provide both flexibility and performance? The key is using binding definition documents to specify how your Java objects are converted to or from XML, combined with bytecode enhancement to embed the conversion code directly into your classes.
(Full Story: JiBX: Binding XML to Java Code)