大家好我有三个包含同一类对象的列表。 例如,以下是我的列表:
List<Course> courselvl4 = new List<Course>();
List<Course> courselvl5 = new List<Course>();
List<Course> courselvl6 = new List<Course>();
我想知道是否有可能将每个列表序列化到同一个XML文件中并反序列化回列表。谢谢。 我试过寻找答案,但无法在任何地方找到答案。 请直接回答。
答案 0 :(得分:0)
如果您想以适当的容量初始化列表,可以使用此功能:
Int32 capacity = courselvl4.Count + courselvl5.Count + courselvl6.Count;
List<Course> courses = new List<Course>(capacity);
courses.AddRange(courselvl4);
courses.AddRange(courselvl5);
courses.AddRange(courselvl6);
可替换地:
List<Course> courses = courselvl4
.Concat(courselvl5)
.Concat(courselvl6)
.ToList();
然后去找:
SerializeCourses("CoursesList",courses);
private static XDocument SerializeCourses(String rootElement, List<Course> courses)
{
XDocument doc = new XDocument();
using (XmlWriter writer = doc.CreateWriter())
{
writer.WriteStartElement(rootElement);
foreach (Course course in courses)
new XmlSerializer(typeof(Course)).Serialize(writer, course);
writer.WriteEndElement();
}
return doc;
}