The wxXmlSerializer (wxXS) is a cross-platform software library written in C++ programming language based on wxWidgets which offers a functionality needed for creation of persistent hierarchical data containers able to store various C++ class instances (can be regarded as complex data records). wxXS allows users to easily serialize hierarchically arranged class instances and their data members to an XML structure and deserialize them later. The user can create classes derived from a so called 'serializable' base class provided by the wxXS and then define which the class members will be serialized and which not into XML structure. The XML content can be then stored in a disk file or in any output stream.
Currently supported data types serializable by the wxXS are:
Moreover, the library architecture allows user to extend built-in list of supported data types by any other data type. A new data type can be added by implementing a new I/O handler, which is relatively easy piece of code composed of code macros provided by the library and small amount of manual programming.
The wxXS library can be used for wide range of application scenarios, e.g.:
For understanding how to work with the library there are available some examples: