XmlSerializer Class Reference

#include <Pt/Xml/XmlSerializer.h>

Serialize objects or data to XML.

Inherits Serializer.

Public Member Functions

 XmlSerializer ()
 Default Constructor.
 XmlSerializer (XmlWriter &writer)
 Construct to use an XmlWriter.
bool advance ()
 Advances formatting of the object set. More...
void attach (XmlWriter &writer)
 Attach to an XmlWriter.
template<typename T >
void begin (const T &type, const char *name)
 Begins serialization of an object. More...
void clear ()
 Clears all content.
SerializationContextcontext ()
 Returns the used context.
void detach ()
 Detach from its XmlWriter.
void finish ()
 Finishes parsing of the object set. More...
Formatterformatter ()
 Returns the used formatter.
void reset (SerializationContext *context)
 Clears the serializer and sets a new context.
void setFormatter (Formatter &formatter)
 Returns formatter to use.
XmlWriterwriter ()
 Returns the attached XmlWriter or a nullptr.

Member Function Documentation

void begin ( const T &  type,
const char *  name 

This method has to be called for each object to be part of the object stream before formatting is done by calling advance() or finish(). This is neccessary, because reference IDs have to be assigned to referenced objects before they can formatted. The string name will be used as the instance name of type. The type must be serializable.

bool advance ( )

Returns true if the objects passed to begin() were completely formatted, otherwise false is returned, in which case only a part of the objects was formatted and advance() has to be called again until formatting is complete.

void finish ( )

This method will finish formatting of all objects started by begin() or partially formatted by calling advance().