I have the following code that successfully writes to an XML file. However, it is overwritten every time due to the call to tagRegistry.Save (). How to add a new XElement to an existing file? At the moment, the file is simply overwritten.
public void saveTag() { if (File.Exists("/tagRegistry.xml")) { XElement tagRegistry = XElement.Load("/tagRegistry.xml"); XElement newTag = new XElement("Tag", new XElement("tag", stringUid), new XElement("name", desiredName), new XElement("latitude", latitude), new XElement("longitude", longitude)); tagRegistry.Add(newTag); using (var storage = IsolatedStorageFile.GetUserStoreForApplication()) { using (Stream stream = storage.CreateFile("/tagRegistry.xml")) { tagRegistry.Save(stream); } } } else { XDocument tagRegistry = new XDocument(new XElement("SmartSafe")); tagRegistry.Element("SmartSafe").Add(new XElement("Tag", new XElement("tag", stringUid), new XElement("name", desiredName), new XElement("latitude", latitude), new XElement("longitude", longitude))); using (var storage = IsolatedStorageFile.GetUserStoreForApplication()) { using (Stream stream = storage.CreateFile("/tagRegistry.xml")) { tagRegistry.Save(stream); } } } }
source share