XML-Serialisierung

10/02/2009 - 14:15 von Andreas Froebel | Report spam
Hallo zusammen.

Ich möchte ein Objekt serialisieren, bei der die XML-Struktur bereits
vorgegeben ist.
Das fertige XML-Dokument sollte wie folgt aussehen:

<Vorgang>
<Person Name="Herbert Meier">
<Artikel Artikelbezeichnung="Artikel 1" />
<Artikel Artikelbezeichnung="Artikel 2" />
</Person>

</Vorgang>


Meine Klassen sehen wie folgt aus:

public class Vorgang : Collection<Person> {

}

public class Person : Collection<Artikel> {
private string _Name;
[XmlAttribute]
public string Name {
get { return _Name; }
set { _Name = value; }
}
}

public class Artikel {
private string _Artikelbezeichnung;
[XmlAttribute]
public string Artikelbezeichnung {
get { return _Artikelbezeichnung; }
set { _Artikelbezeichnung = value; }
}
}


Mein Problem ist jetzt, daß beim Serialisieren eines Objeks das XML-Dokument
nicht wie gewünscht aussieht, sondern wie folgt:

<ArrayOfArrayOfArtikel>
<ArrayOfArtikel>
<Artikel Artikelbezeichnung="Artikel 1" />
<Artikel Artikelbezeichnung="Artikel 2" />
</ArrayOfArtikel>
</ArrayOfArrayOfArtikel>

Problem 1, ist, daß alle Tags mit ArrayOf beginnen und
Problem 2 ist, daß die Property Name komplett fehlt...
Kann mir jemand einen Tipp geben, was ich falsch gemacht habe, oder was ich
àndern müßte?

Vielen Dank

Gruß
Andreas
 

Lesen sie die antworten

#1 Frank Dzaebel
10/02/2009 - 17:18 | Warnen spam
Hallo Andreas,

Problem 1, ist, daß alle Tags mit ArrayOf beginnen und



Schreibe das XmlTypeAttribute vor die entsprechenden Klassen:

[XmlType(TypeName = "Vorgang")]
public class Vorgang : Collection<Person>{ }


Ein guter Artikel:

[XMLSerializer in .NET]
http://www.topxml.com/xmlserializer/serializer.PDF


ciao Frank
Dipl. Inf. Frank Dzaebel [MCP, MVP C#]
http://Dzaebel.NET

Ähnliche fragen