まず、古いバージョンのサポートをインポートするのはエクスポートよりも簡単です。これは、より多くの機能をサポートしているため、通常、後のバージョンが異なるためです。したがって、古い形式に保存するとデータが失われる可能性があります。その結果、私の経験は10年以上にわたり複数バージョンのインポートをサポートしてきただけです。
XMLはもちろんスマートなソリューションです。この問題を念頭に置いて設計されています。私にとって重要なポイントは、きれいなデータモデルからきれいなコード構造が続くことです。新しいバージョンが機能を追加し、追加のタグのサポートによって表されている場合、既存のタグの処理をまったく書き換える必要はありません。
は、既存のタグのセマンティクスを変更し、再コーディングを必要とする可能性があります。解決策:回避できない場合は、この操作を行わないでください。属性またはタグを追加するときは、デフォルト値を定義してから、古いデータファイルと新しいデータファイルをシームレスに処理してください。
だから、気をつけて、異なるファイルバージョンの同じフィールドを扱うためのコードが実際にはかなり異なる場合を避けることができるはずです。これが起こるところでは、私は「特別な状況」(それはソフトウェアによる人生です)があると思います。ジェネリックソリューションを設計するときには、特定のユースケースを念頭に置いています。そのような特別なケースは、とにかく処理されない可能性があります。
要約:データモデルのアップグレードパスを定義することで、将来的に最も効率的に使用できます。
+1:よく説明されています。 –