XmlSerializer, добавление данных в XML и ошибка "файл занят" - C#

Узнай цену своей работы

Формулировка задачи:

Помогите плз, нужно сделать добавление инф. в XML, что бы предыдущая не затиралась, я написал код, но когда идет запись вылезает ошибка, что фаил уже используется, не могу разобраться...
Листинг программы
  1. private void button1_Click(object sender, EventArgs e)
  2. {
  3. try
  4. {
  5. Information info = new Information();
  6. info.Data1 = textBox1.Text;
  7. info.Data2 = textBox2.Text;
  8. SaveXml.SaveData(info, "data.xml");
  9. }
  10. catch (Exception ex)
  11. {
  12. MessageBox.Show(ex.Message);
  13. }
  14. }
  15. private void Form1_Load_1(object sender, EventArgs e)
  16. {
  17. using (FileStream read = File.Open("data.xml", FileMode.Open, FileAccess.Read, FileShare.Read))
  18. {
  19. XmlSerializer xs = new XmlSerializer(typeof (Information));
  20. Information info = (Information) xs.Deserialize(read);
  21. textBox1.Text = info.Data1;
  22. textBox2.Text = info.Data2;
  23. }
  24. }
Листинг программы
  1. public class SaveXml
  2. {
  3. public static void SaveData(object obj, string filename)
  4. {
  5. File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
  6. XmlSerializer sr = new XmlSerializer(obj.GetType());
  7. TextWriter writer = new StreamWriter(filename);
  8. sr.Serialize(writer, obj);
  9. writer.Close();
  10. }
  11. }

Решение задачи: «XmlSerializer, добавление данных в XML и ошибка "файл занят"»

textual
Листинг программы
  1. dc.date = NewPassWord.GetData();
  2.             dc.id = IdBox.Text;
  3.             dc.pass = PassBox.Text;
  4.             lock (lockObject)
  5.             {
  6.                 using (FileStream write = File.Open("data.xml", FileMode.Open, FileAccess.Write))
  7.                 {
  8.                     XmlSerializer xs = new XmlSerializer(typeof(GenBase));
  9.                     info.DataContainers.Add(dc);
  10.                     xs.Serialize(write, info);
  11.                 }
  12.  
  13.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы