Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Xml.load не находит файл на диске


Автор: vinograd2008 5.2.2012, 09:39
Здравствуйте. Есть xml файл на диске нужно получить к нему доступ и удалить из него ноду Termin одну или несколько. То есть в этом файле может быть несколько нод Termin. Удаление ноды работает. Но не удается получить доступ к файлу в xmldoc.Load возникает исключение что файл не найден хотя файл есть на диске. Как это исправить чтобы работало?

Файл 1.xml

Код


<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='stylesheet.xsl'?>
<Root>
  <Statya>
    <Termin>Термодинамика</Termin>
  </Statya>
</Root>



Код как сделано сейчас

Код


System.Collections.ArrayList selected = new System.Collections.ArrayList(listBox.SelectedItems);
            foreach (Object selectedItem in selected)
            {
                listBox.Items.Remove(selectedItem);

                string fmresu = "1";

                if (fmresu != "")
                {
                    string filexm = @"D:\Новая папка\" + fmresu + ".xml";

                    if (!File.Exists(filexm))
                    {
                        System.Windows.Forms.MessageBox.Show("File \"" + filexm + "\", not found!");
                        return;
                    }
                    else
                    {
                        xmldoc.Load(filexm);

                        XmlNode node1 = xmldoc.SelectSingleNode("//Root/Statya");

                        XmlNode node3 = xmldoc.SelectSingleNode("//Root/Statya/Termin");

                        node3.InnerText = selectedItem.ToString();

                        if (node3.InnerText == selectedItem.ToString())
                        {
                            node1.RemoveChild(node3);

                            xmldoc.Save(filexm);
                        }
                    }
                }
            }


Автор: HoTMetaL 1.3.2012, 13:13
Мой код:
Код

            string fmresu = "1";
            string filexm = @"c:\Новая папка\" + fmresu + ".xml";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(filexm);

Файл как понимаешь у меня лежит на диске C:.
Всё нормально открывается.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)