2013-06-24 28 views
5

我已经定义了以下类。序列化列表<>与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; } 
} 

当这个序列化到XML,我得到:

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

但我想有它就是这样,即是Document元素为DocumentOrder的子元素。

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

我该怎么做?

+0

见[这里](http://stackoverflow.com/questions/3303165/using-xmlarrayitem-attribute-without-xmlarray-on-serializable -c-sharp-class)回答 –

回答

4

你可以试试:

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

+1你打我吧:) –