Ich erstelle eine Anwendung in C#, die einige Benutzereinstellungen in eine XML-Datei schreiben muss. Sie werden perfekt gelesen, aber beim Schreiben werden sie zurück ein zusätzliches Endtag erstellt, das das Programm nicht lesen kann.
XML-Datei:
False
1280
720
True
2
0
0
Code das schreibt:
FileStream stream =
new FileStream("configs/options.xml", FileMode.Open, FileAccess.ReadWrite);
XmlDocument doc = new XmlDocument();
doc.Load(stream);
stream.Seek(0, SeekOrigin.Begin);
doc.SelectSingleNode("/options/fullscreen").InnerText = fullscreen.ToString();
doc.SelectSingleNode("/options/vsync").InnerText = vsync.ToString();
doc.SelectSingleNode("/options/resolutionX").InnerText = resolutionX.ToString();
doc.SelectSingleNode("/options/resolutionY").InnerText = resolutionY.ToString();
doc.SelectSingleNode("/options/AA").InnerText = aa.ToString();
doc.SelectSingleNode("/options/musicvolume").InnerText = musicvolume.ToString();
doc.SelectSingleNode("/options/soundvolume").InnerText = soundvolume.ToString();
doc.Save(stream);
stream.Close();
Was ich bekomme:
True
1280
720
True
4
0
0
/options>