Make your own archive derived from xml_?archive.
 
Robert Ramey
"Paul Heil" <paul.heil@gmail.com> wrote in message news:2fc4ff370902051118v6b811275rdad4dd46c04d40c9@mail.gmail.com...
I'd like to use the boost::serialization library to generate XML that must be read by a third party application. Unfortunately, this application does not like the extra stuff that the serialization library generates.

The code below generates XML that looks like this:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!DOCTYPE boost_serialization>
    <boost_serialization signature="serialization::archive" version="5">
    <MYTAG class_id="0" tracking_level="0" version="0"></MYTAG>
    </boost_serialization>

What I need is XML that looks more like this:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <MYTAG></MYTAG>


What can I do to eliminate the extra stuff?

Thanks,
PaulH

class MyClass
{
private:
    friend class boost::serialization::access;

    template<class Archive>
    void serialize(Archive &ar, const unsigned int version){};

public:
    MyClass(){};
    friend std::ostream & operator<<(std::ostream &os, const MyClass &gp);
    virtual ~MyClass(){};
};

int main( int argc, _TCHAR* argv[] )
{
    MyClass mc;

    std::ofstream ofs("MyFile.xml");
    boost::archive::xml_oarchive oa(ofs);
    oa << boost::serialization::make_nvp( "MYTAG", mc );

    return 0;
}


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users