2012-07-31 9 views
5

Ich bin ein Objekt in XML Serialisierung. Ich habe so etwas wie dies:XML-Serialisierung der Liste

Class A 
{ 
    public string propertyA1 { get; set; } 
    public List<B> bList { get; set; } 
} 

Class B 
{ 
    public string num {get; set;} 
    public string propertyB1 { get; set; } 
} 

Wenn ich es in XML serialisiert, ich will es wie folgt aussehen:

<A> 
    <propertyA1>someVal</propertyA1> 
    <B num=1> 
    <propertyB1>someVal</propertyB1> 
    </B> 
    <B num=2> 
    <propertyB1>someVal</propertyB1> 
    </B> 
</A> 

Aber stattdessen sieht es wie folgt aus:

<A> 
    <propertyA1>someVal</propertyA1> 
    <bList> 
    <B num=1> 
     <propertyB1>someVal</propertyB1> 
    </B> 
    <B num=2> 
     <propertyB1>someVal</propertyB1> 
    </B> 
    </bList> 
</A> 

Irgendeine Idee, wie man die bList in der Ausgabe loswird? Ich kann mehr Beispielcode zur Verfügung stellen, wenn

Dank benötigt, Scott

Antwort

15

Fügen Sie das Attribut [XmlElement] die Sammlung als eine einfache Liste von Elementen zu behandeln:

Class A 
{ 
    public string propertyA1 { get; set; } 
    [XmlElement("B")] 
    public List<B> bList { get; set; } 
} 

für weitere Informationen klicken here

+0

ausgezeichnet, einfach und unkompliziert - versucht, mit [diese] (http://stackoverflow.com/questions/1237683/xml-serialization-of-listt-xml-root) aber deine Lösung ist viel einfacher. – Iztoksson

Verwandte Themen