序列化没有根元素的Dotnet集合?

时间:2014-03-24 10:41:28

标签: c# xml wcf serialization xsd

考虑使用序列化的xml:

<Course>
  <Title>Engineering</Title>
  <Student>
    <Name>John Doe</Name>
  </Student>
  <Student>
    <Name>Jane Doe</Name>
  </Student>
   ...
</Course>

不幸的是,我无法修改架构。 (理想情况下,我应该将Student类包装到Students根元素中!)

  

如何定义实体类以便序列化可以正常工作?

我尝试了以下代码,但这会生成带有Students的xml作为包装元素。

public class Course
{
    public string Title { get; set; }
    public List<Student> Students { get; set; }
}

public class Student
{
    public string Name { get; set; }
}

1 个答案:

答案 0 :(得分:2)

XmlElement列表中添加Students属性,如下所示:

public class Course
{
    public string Title { get; set; }

    [XmlElement("Student")]
    public List<Student> Students { get; set; }
}