... was hier passiert ist, ist doch exemplarisch:
das Ausgangsproblem ist relativ überschaubar:
- es gibt ein XML, das ins Programm eingelesen werden soll
- es gibt eine Datei, in die Informationen aus diesem XML reingeschrieben werden soll
Statt die naheliegende einfache Lösung zu wählen eine Struktur zum einlesen zu definieren, einlesen, benötigte Werte übertragen, schreiben, wird erheblich Gehirnschmalz verbraten, um ein paar Zeilen elementaren Code einzusparen.
Dafür kauft man dann nicht unerheblich Probleme ein:
- enge Kopplung zwischen dem XML und der Datei (wenn sich am XML was ändert, muss die Datei oder Logik geändert werden)
- Verzicht auf alle Prüfungen des Compilers (per Pointer kriegt man alles aufeinander genagelt)
- wesentlich verschlechterte Lesbarkeit des Programms.

Meine Empfehlung:
- immer an Lesbarkeit orientieren
- einfach ist meist auch gut
- nicht immer alles ausreizen, was man so alles kann

D*B

PS: Die runtime hat sich hier auch nicht mit Ruhm bekleckert, wenn ein write abschmiert, hat da auch nix in der Datei drinzustehen.
Weitere Empfehlung:
Commit einsetzen, da wäre dann wenigstens ein automatischer Rollback hinterhergekommen.