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
- 使用Xerces进行DOM解析
- 将org.w3.dom.Document写入文件
- 使用Java美化XML格式化
- Java 中使用XPath
- Modifying an XML Attribute in Java using dom4j
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.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
Jackson XML is an extension of the Jackson JSON processor for reading and writing XML encoded data.
7.1. Useful Resources
- Official Website
- Github
- Jackson XML databind Wiki
- Jackson XML annotations
- Java使用Jackson序列化和反序列化XML
- 使用Jackson将XML转换为JSON
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
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.