2012-07-31 16 views
5

Bir nesneyi XML'e serileştiriyorum.Listenin XML serileştirmesi

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

: Bunun yerine bu gibi görünüyor,

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

Ama: Ben XML serialize zaman

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; } 
} 

, ben böyle bakmak istiyorum: Böyle bir şey var bList çıkışından nasıl kurtulacağına dair bir fikrin var mı?

Teşekkür gerekirse ben daha örnek kod sağlayabilir, Scott

cevap

15

elemanlarının düz bir liste olarak toplanmasını tedavisinde niteliği [XmlElement] ekleyin: daha fazla bilgi için

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

tıklayın here

+0

, Mükemmel basit ve anlaşılır - kullanarak çalışıyordu [bu] (http://stackoverflow.com/questions/1237683/xml-serialization-of-listt-xml-root) ama çözümün çok daha basit. – Iztoksson

İlgili konular