Ich arbeite an einer Reihe von Klassen, die zum Serialisieren in XML verwendet werden. Das XML wird nicht von mir kontrolliert und ist recht gut organisiert. Leider gibt es mehrere Sätze von verschachtelten Knoten, deren Zweck es ist, eine Sammlung ihrer Kinder zu speichern. Basierend auf meinen derzeitigen Kenntnissen der XML-Serialisierung benötigen diese Knoten eine andere Klasse..NET XML-Seralisierung
Gibt es eine Möglichkeit, eine Klasse serialisieren zu einer Reihe von XML-Knoten anstelle von nur einer. Weil ich fühle mich wie ich so klar wie Schlamm ich zu sein, sagen wir haben das xml:
<root>
<users>
<user id="">
<firstname />
<lastname />
...
</user>
<user id="">
<firstname />
<lastname />
...
</user>
</users>
<groups>
<group id="" groupname="">
<userid />
<userid />
</group>
<group id="" groupname="">
<userid />
<userid />
</group>
</groups>
</root>
Idealerweise 3 Klassen am besten wäre. Eine Klasse root
mit Sammlungen von user
und group
Objekte. Allerdings Beste, was ich herausfinden kann, ist, dass ich eine Klasse für root
, muß users
, user
, groups
und group
, wo users
und groups
nur Sammlungen von user
und group
enthalten sind, und root
enthält ein users
und groups
Objekt.
Wer da draußen, wer weiß besser als ich? (Lüge nicht, ich weiß, dass es da ist).
Ich benutze den XMLSerializer, aber am besten kann ich sagen, Sie können nur einen einzelnen Elementnamen auf eine Klasse oder Eigenschaft anwenden. Ich habe mehrere Zwischenklassen, die nur Sammlungen anderer Objekte enthalten. Das Ergebnis ist das richtige XML, aber ein Schmerz in den Hintern, um mich zu instantiieren. –
Code zur Demo hinzugefügt :) –
@Rob Cooper: +1 für mich gegen den Code Punch zu schlagen. – user7116