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