Zapisywanie do pliku xml

0

Dlaczego nie dopisuje, tylko tworzy nowy plik?

 if (wynik == System.Windows.Forms.DialogResult.Yes)
            {
                XmlRootAttribute xRoot = new XmlRootAttribute();
                xRoot.ElementName = "ubrania";
                xRoot.IsNullable = true;
                XmlSerializer xS = new XmlSerializer(typeof(List<Ubrania>), xRoot);
                string nazwaPliku = @"C:\Users\Klaudia2\Desktop\Ubra.xml";
                TextWriter wr = new StreamWriter(nazwaPliku);
                xS.Serialize(wr, Program.mojeUbrania);
                MessageBox.Show("Liczba filmów zapisanych do pliku xml: " + Program.mojeUbrania.Count.ToString());
            }
0

Dlatego:

The path parameter can be a file name, including a file on a Universal Naming Convention (UNC) share. If the file exists, it is overwritten; otherwise, a new file is created.

http://msdn.microsoft.com/pl-pl/library/fysy0a4b(v=vs.110).aspx

Rozwiazanie:
Stworz obiekt File z odpowiednim trybem i przekaz go w konstruktorze StreamWriter.

Dodatkowo, obie te klasy implementuja interfejs IDisposable, wiec powinny byc jawnie zwalniane przez wywolanie metody Dispose(), badz obiekty tych klas powinny byc tworzone wenatrz naglowka instrukcji using.

1 użytkowników online, w tym zalogowanych: 0, gości: 1