Als Vorteil gegenüber was? Um Programmeinstellungen zu Speichern würde ich immer noch Ini-Dateien nehmen, weil man da meist eindimensionale Strukturen hat. So bald man aber mehrdimensionale oder sich wiederholende Strukturen hat bietet sich
XML an. Konkretes Beispiel? Puh, fällt mir jetzt konkret nichts ein, kann ich dir aber sagen, wenn wir uns mal zu einem Bier treffen.
Als Nachteil sehe ich aber, dass
XML meist recht viel Overhead hat und in einem Texteditor nicht immer einfach zu lesen ist im Gegensatz zu Ini-Dateien.
Dein Problem mit den kaputten
XML-Dateien, wenn die Bearbeitung unterbrochen wurde, würde ich wie folgt lösen: Es wird eine Backup-Datei von der letzten heilen Datei angelegt. Ist die neue, editierte Datei fehlerhaft, wird auf das Backup zurückgegriffen. So greifen zwar nicht die Änderungen, aber das Programm funktioniert. Also ein ähnliches Vorgehen, wie bei Windows mit den ControlSets, wo man beim Booten die letzte funktionierende Konfiguration auswählen kann, wenn die aktuelle kaputt ist.