SoulNG contains support for serializing class objects as XML. The XML serialization support is based on a C++ source-to-source tool called xmlsergen and a C++20 serialization library. The xmlsergen tool takes an XML serialization description file, .xmlser file, as input and generates C++ header and source files that contain C++ classes to be serialized. Each class provides ToXml and FromXml member functions that write the member variables of the class to XML elements, and read data from XML elements to the member variables respectively.