【问题标题】:XML hierarchy with Boost::serialization带有 Boost::serialization 的 XML 层次结构
【发布时间】:2011-06-27 08:15:16
【问题描述】:

我最近开始使用 Boost::serialization 进行研究工作,虽然它非常强大且易于使用,但我在最终的 xml 格式上仍然存在一些问题。我有一个类层次结构,当序列化时,每个子类都嵌套在 xml 输出中它自己的标记中。由于使用了boost::serialization::base_object,因此创建了这个子类标记。有人知道如何将基类和子类保持在同一级别的 xml 层次结构中吗?

例如:当前格式

<baseClass> <attr>value</attr> <subClass> <otherAttr>value</otherAttr> </subClass> </baseClass>

目标格式:

&lt;baseClass&gt; &lt;attr&gt;value&lt;/attr&gt; &lt;otherAttr&gt;value&lt;/otherAttr&gt; &lt;/baseClass&gt;

【问题讨论】:

  • 您是否需要它来执行此操作(例如,另一个程序需要特定的输出),还是只是为了提高可读性?在这个问题上见 cmets:stackoverflow.com/questions/3931535/… - 特别是使用Boost.Karma的建议
  • 好的,谢谢各位。顺便说一句,回答@Merlyn 的问题,是的,这是为了可读性:) 否则,文本存档将是完美的。

标签: c++ serialization boost format hierarchy


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2011-08-11
    • 2019-07-27
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    相关资源
    最近更新 更多