Weil ichs immer wieder vergesse, will ich einfach mal festhalten, welche Voraussetzungen in einer Klasse gegeben sein müssen, damit sie zu einer XML-Datei serialisierbar ist. Sprache: C#

Serialisieren heißt hierbei, dass ein beliebiges Klassenobjekt in einer XML-Datei gespeichert wird, ohne dass man sich selbst Gedanken um den Aufbau der XML-Datei machen müsste. Es wird einfach die Funktion aufgerufen, die Datei wird erstellt und umgekehrt kann man aus der Datei auch wieder ein Objekt deserialisieren, dass man im Programmaufruf weiter verwenden kann.
Sehr gut zur Datensicherung, wenn man keine Datenbank im Zielsystem installieren kann oder will und die Daten nicht mega geschützt sein müssen.

Nun aber folgendes:
Die Klassen, die von der Serialisierung betroffen sind, müssen allesamt als Serialisierbar gekennzeichnet sein “[Serializable]“, public sein, einen Standardkonstruktor haben und natürlich für alle Member (Klassenvariablen) müssen öffentliche Properties mit getter und setter definiert sein.

Letzteres hat mich jetzt paar Stunden beschäftigt. Hätt ich mir das damals mal schon aufgeschrieben :)