XML ist in seinen Grundzügen garnicht so schwer, wie es vielleicht aussehn mag.
Gibt auch massenhaft Beispiele im Forum.
PS: als ich das letzte Mal mit Binärdateien gearbeitet hatte, da hab ich das Programm von der Dateiversion abhängig gemacht.
(da sich ja meist das Programm schneller entwickelt/verändert, als dessen Speicherformat)
So kann man das Programm weiterentwickeln und solange sich nichts am Dateiformat ändert, gibt es keine Probleme.
Ansonsten kann man sogar Dateiformats-abhängig mehrere Lade-Prozeduren integrieren und so auch ältere Formate noch unterstüzen.