z00l.de – Merkenswertes(?) und anderes Geraffel

Snippets aus der Welt des Programmierens – manchmal auch OT

Arrays in C# nach XML serialisieren —

Wenn man viel mit fremden Daten zu tun hat, die aus netzwerktechnischen Gründen nicht direkt im Debugger untersucht werden können, kann eine Serialisierung der Daten nach XML eine schnelle und einfache Hilfe zur Problemsuche werden.

Jetzt kam kürzlich bei mir aber die Frage auf, wie ich am einfachsten ein Array serialisieren kann – die Lösung ist fast ebenso einfach wie das Serialisieren eines einfachen Objektes.

Man muss dem XmlSerializer einfach noch ein XmlRootAttribute-Element als Paramter übergeben, der Rest unterscheidet sich nicht vom einfachen Objekt:

System.IO.StreamWriter swriter = new System.IO.StreamWriter("arr.xml");
System.Xml.Serialization.XmlSerializer xa = 
    new System.Xml.Serialization.XmlSerializer(typeof(MyObject[]), 
    new XmlRootAttribute("ArrayOfMyObject"));
xa.Serialize(swriter, myObjectArray);
swriter.Flush();
swriter.Close();

Die Packageangaben sollte man normalerweise natürlich per ‚using‘ einbinden, hier stehen sie nur der Vollständigkeit halber.


Kategorien: C# | Coden



Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *