XML Serialization

jccTeq

Erfahrenes Mitglied
Hallo...

C#... kompliziertes Ding: hab eine Hashtable mit Objekten einer Klasse, die eine ArrayList von Objekten einer weiteren Klasse kapselt, welche widerum selbst jeweils zwei ArrayLists mit Objekten einer dritten Klasse kapseln. Dieses tiefe Konstrukt muss ich nach XML serialisieren. Sieht schematisch in etwa so aus:

Code:
hashtable
|
|---NodeList
|   |
|   |---Node
|   |   |
|   |   |---Childs
|   |   |   |
|   |   |   |--Child 1 --> ID
|   |   |   |--Child 2 --> ID
|   |   |
|   |   |---Parents
|   |       |
|   |       |--Parent 1 --> ID
|   |       |--Parent 2 --> ID
|   |   
|   |---Node
|       |
|       |---Childs
|       |   |
|       |   |--Child 3 --> ID
|       |   |--Child 4 --> ID
|       |
|       |---Parents
|           |
|           |--Parent 3 --> ID
|           |--Parent 4 --> ID
|
|---NodeList
.   |
.   |---Node
.   |   |
    |   |---Childs
    |   |   |
    |   |   |--Child 5 --> ID
    |   |   |--Child 6 --> ID
    |   |
    |   |---Parents
    |       |
    |       |--Parent 5 --> ID
    |       |--Parent 6 --> ID
    |   
    |---Node
        |
        |---Childs
        |   |
        |   |--Child 7 --> ID
        |   |--Child 8 --> ID
        |
        |---Parents
            |
            |--Parent 7 --> ID
            |--Parent 8 --> ID

Wie krieg ich sowas vernünftig in XML serialisiert?

Danke!


Gruß, Hendrik
 
Hi!

Da mußt Du eigentlich gar keinen großen Aufwand betreiben! ;)

Schau Dir mal den Namensraum System.Runtime.Serialization an. Vielleicht hilft Dir auch folgender Link:

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1031/cpguide/html/cpovrserializingobjects.htm
(In den Hilfe Browser vom VS kopieren)

Du mußt also theoretisch einfach nur das Objekt in einen Stream serialisieren... Sehe da an sich keine Probleme. Schau Dir mal die oben genannten Sachen an. Wenn noch Fragen sind einfach fragen, vielleicht hab ich Dich auch falsch verstanden?!

MfG
..::Six Dark::..
 
Hab das mittlerweile ganz gut hinbekommen. Mit Parents und Childs als XmlElements sogar... :) Funktioniert ganz brauchbar. Jetzt muss ich die GDI+ anstrengen, um das ganze optisch auf den Bildschirm zu bekommen. Da kommen sicher noch ein paar Fragen. Danke aber trotzdem, werd's mir sicher mal anschauen.
 
XmlSerializer und dann mit [XmlRoot], [XmlElement] und [XmlAttribute] das Format der Xml-Datei zusammengesetzt... funktioniert klasse so.

edit: schau mal in den Namespace System.Xml. Der stellt die ganze Funktionalität zur Verfügung, die du brauchst, um ganze Objekte nach XML zu serialisieren und auch wieder zu deserialisieren.
 
Zuletzt bearbeitet:
Zurück