Skip to content

.xml - serialization format

A .xml file contains the serialization of an object data structure generated with the XMLSerializer:

The top level elements represent the groups in which the object are organised. The object names are unique within these groups.

  <object1 val="value of object 1"/>
  <object2 val="value of object 2"/>

  <object1 val="value of object 1"/>

An object can be of following type:

  • Basic types: char, char*, std::string, bool, usigned int, int, float, double
  • STL containers: std::array, std::vector, std::pair
  • Eigen types: Eigen::Matrix, Eigen::SparseMatrix
  • User defined types: XMLSerializable*.

There can also be a hierarchical structure like vector<int>, this will result in the following serialization:

  <vector size="3">
    <value0 val="1"/>
    <value1 val="2"/>
    <value2 val="3"/>

An example of a serialization of an instance of the class Test

class Test{
  int var1;
  vector&ltfloat> vec1;  

is shown here:

    <var1 val="0">
    <vec1 size="2">
      <value0 val="1"/>
      <value1 val="2"/>

In the following we show the serialization of Eigen matrices.


  <matrix row="4" col="3" matrix="

Eigen::SparseMatrix<int> (3x3 identity saved as triplets of the non-zero entries):

  <matrix row="3" col="3" matrix="