回滚XML功能

时间:2013-06-26 19:20:39

标签: c++ xml libxml2

我已经看到C# has a rollbacking feature用于Xml文档,而some建议复制以前的结构:我想避免这种最后的实现,因为这将需要大量的内存浪费XML文档。

特别是,我想跟踪

  • 文件的初始状态
  • 已删除或添加的每个元素
  • 有可能回滚并最终恢复未计划的操作。

是否有使用libxml或libxml ++在XML文档上提供此功能的库?提前谢谢。

1 个答案:

答案 0 :(得分:1)

我能想到的唯一理智的方法是在目录中对各种文档进行差异处理,具有差异历史,您可以轻松地重新生成旧文档。

rdiff-backup执行类似这样的操作来执行常规文件复制,它保留了目录/文件的最后一个副本以及包含重新生成旧文件所需的所有信息的目录。 https://www.gnu.org/savannah-checkouts/non-gnu/rdiff-backup/