是否可以从text_oarchive转换为xml_oarchive?
答案 0 :(得分:0)
仅当序列化支持XML归档时。在这种情况下,请使用text_iarchive
阅读您的存档,然后序列化为xml_oarchive
。
XML档案的主要要求是所有对象都被命名,因此:
boost::archive::text_oarchive oa(std::cout);
std::string name = "sample";
oa & name;
需要
boost::archive::xml_oarchive oa(std::cout);
std::string name = "sample";
oa & BOOST_SERIALIZATION_NVP(name);
另见https://www.boost.org/doc/libs/1_67_0/libs/serialization/doc/wrappers.html#nvp