/// <summary> /// Пишет вопросы в файл /// </summary> /// <param name="list"> Список вопросов </param> /// <param name="address"> Расположение файла </param> public static void WriteQuestions(QuestionXmlList list, string address) { // Если файл существует, удаляем if (File.Exists(address)) { File.Delete(address); } try { // Передаем в конструктор форматтера тип класса var formatter = new XmlSerializer(typeof(QuestionXmlList)); // Получаем поток, куда будем записывать сериализованный объект using (var fileStream = new FileStream(address, FileMode.OpenOrCreate)) { // Записываем каждый объект в списке formatter.Serialize(fileStream, list); } } catch (Exception ex) { throw new Exception("Ошибка записи вопросов в файл", ex); } }
private void btAddTest_Click(object sender, EventArgs e) { var item = new List<Question>(); if (fmEditTest.Execute(item)) { var xmlList = new QuestionXmlList { Items = item }; XmlWorker.WriteQuestions(xmlList, Directory.GetCurrentDirectory() + @"\quest.xml"); } }
private void btEditTest_Click(object sender, EventArgs e) { var path = new OpenFileDialog(); path.ShowDialog(); var xmlitems = XmlWorker.ReadQuestions(path.FileName); List<Question> item = xmlitems.Items; if (fmEditTest.Execute(item)) { var xmlList = new QuestionXmlList { Items = item }; XmlWorker.WriteQuestions(xmlList, path.FileName); } }