Witam. Mam taką funkcję:
private void Form1_Load(object sender, EventArgs e)
{
string filters_path = Environment.CurrentDirectory + @"/filters.xml";
string folders_path = Environment.CurrentDirectory + @"/folders.xml";
if (File.Exists(filters_path))
{
xml_Filters.DataSet.ReadXml(filters_path);
}
else
{
XmlTextWriter xw = new XmlTextWriter(filters_path, Encoding.UTF8);
xw.Formatting = Formatting.Indented;
xw.Indentation = 4;
xw.WriteStartDocument();
xw.WriteStartElement("filters");
xw.WriteStartElement("filter");
xw.WriteStartElement("name");
xw.WriteString(" ");
xw.WriteEndElement();
xw.WriteEndElement();
xw.WriteEndElement();
xw.WriteEndDocument();
xw.Close();
}
if (File.Exists(folders_path))
{
xml_Folders.DataSet.ReadXml(folders_path);
}
else
{
XmlTextWriter xw = new XmlTextWriter(folders_path, Encoding.Default);
xw.Formatting = Formatting.Indented;
xw.Indentation = 4;
xw.WriteStartDocument();
xw.WriteStartElement("folders");
xw.WriteStartElement("folder");
xw.WriteStartElement("name");
xw.WriteString(" ");
xw.WriteEndElement();
xw.WriteEndElement();
xw.WriteEndElement();
xw.WriteEndDocument();
xw.Close();
}
dataGridView1.DataSource = xml_Filters.DataSet;
dataGridView1.DataMember = "filter";
dataGridView2.DataSource = xml_Folders.DataSet;
dataGridView2.DataMember = "folder";
Kiedy plik xml nie istnieje - rzuca wyjątek: Nie można utworzyć listy elementów podrzędnych pola filter. Dlaczego tak się dzieje? Kolejne uruchomienie programu działa już bez zarzutu.
Pozdrawiam i dziekuję za odpowiedzi.