XmlSerializer, добавление данных в XML и ошибка "файл занят" - C#
Формулировка задачи:
Помогите плз, нужно сделать добавление инф. в XML, что бы предыдущая не затиралась, я написал код, но когда идет запись вылезает ошибка, что фаил уже используется, не могу разобраться...
Листинг программы
- private void button1_Click(object sender, EventArgs e)
- {
- try
- {
- Information info = new Information();
- info.Data1 = textBox1.Text;
- info.Data2 = textBox2.Text;
- SaveXml.SaveData(info, "data.xml");
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message);
- }
- }
- private void Form1_Load_1(object sender, EventArgs e)
- {
- using (FileStream read = File.Open("data.xml", FileMode.Open, FileAccess.Read, FileShare.Read))
- {
- XmlSerializer xs = new XmlSerializer(typeof (Information));
- Information info = (Information) xs.Deserialize(read);
- textBox1.Text = info.Data1;
- textBox2.Text = info.Data2;
- }
- }
Листинг программы
- public class SaveXml
- {
- public static void SaveData(object obj, string filename)
- {
- File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read);
- XmlSerializer sr = new XmlSerializer(obj.GetType());
- TextWriter writer = new StreamWriter(filename);
- sr.Serialize(writer, obj);
- writer.Close();
- }
- }
Решение задачи: «XmlSerializer, добавление данных в XML и ошибка "файл занят"»
textual
Листинг программы
- dc.date = NewPassWord.GetData();
- dc.id = IdBox.Text;
- dc.pass = PassBox.Text;
- lock (lockObject)
- {
- using (FileStream write = File.Open("data.xml", FileMode.Open, FileAccess.Write))
- {
- XmlSerializer xs = new XmlSerializer(typeof(GenBase));
- info.DataContainers.Add(dc);
- xs.Serialize(write, info);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д