Ich versuche, in Zukunft eine zuverlässige Methode zur Aktualisierung meiner Software einzurichten, indem ich sicherstelle, dass ich die Dateien meines Benutzers problemlos aktualisieren kann, wenn ich ein Programmupdate herausgebe. Die Software ist in C# geschrieben.Wie könnte ich ein altes XML-Objekt effizient in ein neu aktuelles XML-Objekt konvertieren?
sagen, dass ich eine Person zum Gegenstand haben:
- Name
- DoB
- Nationality
das ist die Version 0.1 von meiner Person Klasse also. In Zukunft werde ich zum Beispiel einige neue Felder in das Personenobjekt einführen (v0.2).
- Name
- DoB
- Nationality
- Temperament <- NEW
- Job <- NEW
Offensichtlich muss ich das alte Objekt auf das neue aktualisieren. Was ich gerade mache, ist folgendes:
- Lies das 0.1-Objekt in eine versionierte Klasse (wie Person01.cs).
- Füllen Sie das neue Objekt mit den Feldern, die das alte Objekt hatte.
- Füllen Sie die neuen Felder des neuen Objekts mit Standardwerten auf.
- Schreiben Sie die Datei aus.
Dies scheint enorm ineffizient. Es erfordert jedes Mal, wenn ich etwas ändere, eine große Menge an benutzerdefiniertem Code. Es muss einen besseren Weg geben, dies zu tun, aber da ich zum ersten Mal wirklich mit XML arbeite, bin ich mir nicht sicher, wie ich das anstellen soll. Jede Hilfe, die Sie zur Verfügung stellen können, wäre sehr willkommen. Ich habe nach einer Lösung für dieses Problem gesucht, aber ich finde nur unabhängige Ergebnisse.
Dank Bit, guter Ruf. Das hilft bei der Lesbarkeit. Ich habe hier lange nicht mehr gepostet. –
Falls Sie das XML manuell erstellen, wird es sehr vorsichtig sein. Verwenden Sie XmlSerializer: https://msdn.microsoft.com/en-us/library/bb675182.aspx? – bit
Ja System.Xml.Serialization –