class SomeWeirdClass : public Serializable { protected: std::vector< vec3 > vertices; std::vector< vec3 > normals; std::vector< color > colors; public: void serialize( Serializer* ) { serializer->beginGroup( "vertices" ); serializer->writeNumberOfElements( vertices.size() ); for( s32 i = 0; i < vertices.size(); ++i ) { serializer->beginAttribute( "vertex" ); serializer->writeParameter( "position", vertices[ i ] ); serializer->writeParameter( "normal", normals[ i ] ); serializer->writeParameter( "color", colors[ i ] ); serializer->endAttribute(); } serializer->endGroup(); } } binär: (writeNumberOfElements) (vertices[0]) (vertices[1]) ... XML: ...