Java Top

Get started with Spring 5 and Spring Boot 2, through the Learn Spring course:

> CHECK OUT THE COURSE

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.

Here's the maven dependency to use to get it into a Maven enabled project:


    com.thoughtworks.xstream
    xstream
    1.4.19

6.1. Useful Resources

7. Jackson XML

Jackson XML is an extension of the Jackson JSON processor for reading and writing XML encoded data.

In order to use it – here's the simple Maven dependency you'll need:


    com.fasterxml.jackson.dataformat
    jackson-dataformat-xml
    ${jackson.version}

Note: Latest version of jackson-dataformat-xml right now is 2.13.2.

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.

In order to use it you need the following dependency:


    org.apache.cxf
    cxf-rt-databinding-aegis
    ${aegis.version}

Note: Latest version of Aegis right now is 3.5.1.

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.

Java bottom

Get started with Spring 5 and Spring Boot 2, through the Learn Spring course:

>> CHECK OUT THE COURSE
Generic footer banner
Comments are closed on this article!