1

伙计们,

我们一直在使用 System.IO.Packaging 中的 OpenXml API 来创建包含一些 Xml/Binary 文件的包文件,因此包的结构如下:

Package/
 -/DataFolder1/an xml file.xml
 -/DataFolder2/another xml file.xml
 -/Bin/other binar files

这已用于应用程序的 1.0 版,并且运行良好。

我们正处于 V2 的规划阶段,预计包结构将发生以下变化:

  • 包中可能还有其他文件

  • 现有文件的 Xml 模式中可能会有一些修改(例如 ... 新节点)

  • 现有文件的 Xml 架构可能会发生一些变化(例如......删除节点或更改数据类型)

我将不胜感激任何基于现实生活经验的建议,以解决文件格式和应用程序本身之间的向后/向前可计算性,因此我们可以让应用程序及其文件格式相互独立地发展。

4

1 回答 1

1

在不进一步了解您的应用程序的情况下,很难为您提供建议。但是,可以通过添加包含版本号的属性来处理自定义 XML 的不同版本,或者 - 如果架构中有重大更改 - 通过更改命名空间以包含新版本号。

如果您想了解 OpenXML 本身如何处理版本控制和可扩展性,我建议您阅读 OpenXML 规范的第 5 部分:

Office Open XML - 第 5 部分:标记兼容性和可扩展性

于 2009-05-10T15:47:39.573 回答