我定义了以下类。
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 :(得分:4)
你可以尝试:
public class DocumentOrder {
// ...
[XmlAttribute]
public string Name { get; set; }
[XmlElement("Document")]
public List<Document> Documents { get; set; }
}
答案 1 :(得分:1)
应该只是一个案例:
public class DocumentOrder {
// ...
[XmlAttribute]
public string Name { get; set; }
[XmlArrayItem("Document")]
public List<Document> Documents { get; set; }
}
有一些good examples on MSDN on what the various XML serialization attributes do