Запись в Xml - C# (215149)

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

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

Доброго времени. У меня в методе записи в Xml вылетает ошибка: Невозможно получить доступ к файлу, т.к. он используется. Я сделал так:
        save:
            try
            {
                xmlDoc.Save(data);
            }
            catch
            {
                Thread.Sleep(1000);
                goto save;
            }
И некоторое время программа работает, правда при добавление может на пару секунд зависнуть, и всё бы ничего, если бы она у меня сегодня не зависла на пол часа. Подскажите как исправить эту ошибку.

Решение задачи: «Запись в Xml»

textual
Листинг программы
if (File.Exists(data))
            {
                using(XmlTextReader readerXml = new XmlTextReader(data))
                {
                string[] rows = new string[4];
                while (readerXml.Read())
                {
                    if (readerXml.NodeType == XmlNodeType.Element)
                    {
                        if (readerXml.Name == "entry")
                            rows[0] = readerXml.GetAttribute("type");
                        if (readerXml.Name == "money")
                            rows[2] = readerXml.GetAttribute("date");
                    }
                    if (readerXml.NodeType ==  XmlNodeType.Text)
                    {
                        rows[1] = readerXml.Value;
                    }
                    if (readerXml.NodeType == XmlNodeType.CDATA)
                    {
                        rows[3] = readerXml.Value;
                    }
 
                    if (rows[0] != null && rows[1] != null && rows[2] != null && rows[3] != null)
                    {
                        dgvTable.Rows.Add(rows);
                        for (int i = 0; i < 4; i++)
                            rows[i] = null;
                    }
                    readerXml.Close();
                }
              }
            }

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


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

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

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