C++ 将boost序列化文本存档转换为结构化格式

C++ 将boost序列化文本存档转换为结构化格式,c++,serialization,boost,C++,Serialization,Boost,给定 boost序列化文本存档 用于序列化的Boost版本和C++工具集 但是缺少文本存档所基于的数据结构。有没有一种方法可以恢复任何更可读的结构化表示(例如XML或JSON)?没有这种方法 Boost序列化是可扩展的 用户可以提供自己的可插拔归档格式。它们可以按照自己喜欢的任何方式对运行时类型信息进行编码 因此,归档实现无法了解它们的实现,并且除了使用另一种归档格式再次进行反序列化和序列化之外,无法进行任何转换 (更正式地说:语言信息在序列化时有选择地丢失,其他归档格式可能依赖于源归档格式

给定

  • boost序列化文本存档
  • 用于序列化
  • 的Boost版本和C++工具集

但是缺少文本存档所基于的数据结构。有没有一种方法可以恢复任何更可读的结构化表示(例如XML或JSON)?

没有这种方法

Boost序列化是可扩展的

用户可以提供自己的可插拔归档格式。它们可以按照自己喜欢的任何方式对运行时类型信息进行编码

因此,归档实现无法了解它们的实现,并且除了使用另一种归档格式再次进行反序列化和序列化之外,无法进行任何转换

(更正式地说:语言信息在序列化时有选择地丢失,其他归档格式可能依赖于源归档格式中不存在的信息位)


示例:XML存档需要标记名,这对于二进制存档来说本质上是不感兴趣的。这些名称不可能从二进制存档中“恢复”,因为它们从未出现过。

不,没有这种方法

Boost序列化是可扩展的

用户可以提供自己的可插拔归档格式。它们可以按照自己喜欢的任何方式对运行时类型信息进行编码

因此,归档实现无法了解它们的实现,并且除了使用另一种归档格式再次进行反序列化和序列化之外,无法进行任何转换

(更正式地说:语言信息在序列化时有选择地丢失,其他归档格式可能依赖于源归档格式中不存在的信息位)


示例:XML存档需要标记名,这对于二进制存档来说本质上是不感兴趣的。这些名称不可能从二进制存档中“恢复”,因为它们从未出现过。

能否提供一个文本存档内容的小样本,以及XML/JSON中的输出结果?我正在寻找一个通用解决方案。例如,在不知道产生前者的数据结构的情况下,将文本存档输出转换为等效的xml存档输出。能否提供文本存档内容的小样本以及xml/JSON中预期的输出?我正在寻找一个通用解决方案。例如,在不知道产生文本归档输出的数据结构的情况下,将文本归档输出转换为等效的xml归档输出。