2013-06-24 13 views
5

Zdefiniowałem następujące klasy.Lista serializacji <> z XmlSerializer

Document.cs

public class Document { 
    // ... 
    [XmlAttribute] 
    public string Status { get; set; } 
} 

DocumentOrder.cs

public class DocumentOrder { 
    // ... 
    [XmlAttribute] 
    public string Name { get; set; } 
    public List<Document> Documents { get; set; } 
} 

Kiedy szeregowania to XML uzyskać:

<DocumentOrder Name="myname"> 
    <Documents> 
    <Document Status="new"/> 
    // ... 
    </Documents> 
</DocumentOrder> 

Ale chciałbym mieć to tak, czyli być elementy Document są potomkami DocumentOrder.

<DocumentOrder Name="myname"> 
    <Document Status="new"/> 
    <Document Status="new"/> 
    <Document Status="new"/> 
    // The document element has other attributes to distinguish... 
</DocumentOrder> 

Jak mogę to zrobić?

+0

patrz [to] (http://stackoverflow.com/questions/3303165/using-xmlarrayitem-attribute-without-xmlarray-on-serializable-c-sharp-class) odpowiedź –

Odpowiedz

4

można spróbować:

public class DocumentOrder { 
    // ... 
    [XmlAttribute] 
    public string Name { get; set; } 
    [XmlElement("Document")] 
    public List<Document> Documents { get; set; } 
} 
+1

+1 mnie biłeś :) –