我正在开发一个项目,我们需要以XML格式保存数据.问题是,随着时间的推移,我们希望数据的格式/架构发生变化.我们希望能够生成脚本以跨不同的模式版本迁移我们的数据.我们将产品分发给成千上万的客户,因此我们需要能够在客户站点运行/应用这些脚本(因此我们不能手动进行转换).我认为我们正在寻找的是某种XML数据迁移工具.在我看来,理想的工具可以:
执行两个模式的"XML diff"以识别添加/删除/更改的节点.
允许我们指定转换函数.因此,例如,我们可能会向我们的架构添加一个新元素,该元素是旧元素的函数.(例如,新元素C,其中C = A + B,A + B是旧元素).
所以我认为我正在寻找一种XML差异和补丁工具,它也可以应用转换功能.我正在寻找的一个工具是Altova的MapForce.我相信其他人必须处理XML数据格式迁移.你是怎么处理的呢?
编辑:澄清一点.我计划做的"差异"是在架构或.xsd文件上.将对遵循给定模式的特定数据集进行实际更改.这些数据集将是.xml文件.因此它是模式的"差异",以帮助确定需要对数据集进行哪些更改以将它们从一个方案迁移到另一个方案.