We've opened a new role Backend Java/Spring Team Lead with Integration Experience. Part-time and entirely remote, of course.
A Guide to XML in Java
Last updated: September 28, 2023
1. Overview
This is a guide to working with XML in Java.
We’ll go over the most common Java XML processing libraries – for both parsing and binding.
2. DOM Parsers
Simply put, a DOM parser works on the entire XML document, loads it into memory and constructs a tree representation of the document.
2.1. Useful Resources
3. SAX Parser
A SAX parser is an event-based parser – it parses the XML document using callbacks without loading the whole document into memory.
3.1. Useful Resources
4. StAX Parser
A StAX Parser is median between DOM and SAX parser.
4.1. Useful Resources
5. JAXB
JAXB – Java Architecture for XML Binding – is used to convert objects from/to XML.
JAXB is a part of the Java SE platform and one of the APIs in Jakarta EE.
5.1. Useful Resources
6. XStream
XStream is a simple library to serialize objects to/from XML.
6.1. Useful Resources
7. Jackson XML
Jackson XML is an extension of the Jackson JSON processor for reading and writing XML encoded data.
7.1. Useful Resources
8. Apache CXF Aegis
Aegis is a data binding or a subsystem that can map between Java objects and XML documents described by XML schemas.
8.1. Useful Resources
9. JiBX
JiBX is a tool for binding XML data to Java objects. It provides solid performance compared to other common tools such as JAXB.
9.1. Useful Resources
10. XMLUnit 2
XMLUnit 2.x is a powerful library that helps us test and verify XML content, and comes in particularly handy when we know exactly what that XML should contain.
10.1. Useful Resources
11. Conclusion
This was a quick intro to the XML ecosystem in Java.
Use this as a guide to learn more about doing XML work and getting a high-level view of the Java XML landscape.
We also have a collection of articles on this topic, if you wish to see links to all our XML content in one place.