private void buttonXMLSave_Click(object sender, EventArgs e) { // объект для сериализации SaveFormXML saveXML = new SaveFormXML(); saveXML.Lecturers = this.Lecturers; saveXML.Numbers = Numbers; // передаем в конструктор тип класса XmlSerializer formatter = new XmlSerializer(typeof(SaveFormXML)); // получаем поток, куда будем записывать сериализованный объект using (FileStream fs = new FileStream("save.xml", FileMode.Create)) { formatter.Serialize(fs, saveXML); } }
private void buttonXMLLoad_Click(object sender, EventArgs e) { XmlSerializer formatter = new XmlSerializer(typeof(SaveFormXML)); using (FileStream fs = new FileStream("save.xml", FileMode.Open)) { SaveFormXML saveXML = (SaveFormXML)formatter.Deserialize(fs); Lecturers.Clear(); Lecturers.AddRange(saveXML.Lecturers); Numbers = saveXML.Numbers; foreach (var item in Lecturers) { foreach (var stud in item.Students) { stud.Lecturer = item; } } bs.ResetBindings(false); } }