使用XmlSerializer序列化List<>

5

我定义了以下类。

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>

我该如何做到这一点?


请参考这个答案。 - Jens Kloster
2个回答

4

你可以尝试:

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

1

这个还会创建<Documents>标签吗? - Jens Kloster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接