我最近开始使用Boost::serialization进行研究工作,尽管它非常强大且易于使用,但最终的xml格式仍然有一些麻烦。我有一个类的层次结构,序列化后,每个子类都嵌套在xml输出中自己的标签内。由于使用了boost::serialization::base_object而创建了这个subClass标记。有谁知道如何将基类和子类保持在相同的xml层次结构级别中?

例如:当前格式
<baseClass> <attr>value</attr> <subClass> <otherAttr>value</otherAttr> </subClass> </baseClass>
目标格式:
<baseClass> <attr>value</attr> <otherAttr>value</otherAttr> </baseClass>

最佳答案

Boost.Serialization并非旨在作为一种写入特定文件格式的机制。这是一种将类的数据转储到文件中,然后使用此程序再次读取该数据的方法。格式不是您应该关心的东西。

如果您使用的是特定的文件格式,那么正如Merlyn建议的那样,您需要的是Boost.Karma生成器。

10-08 02:19