hello friends i need some help about updating xml node in wp7. my xml is as follows :
<?xml version="1.0" encoding="utf-8"?>
<ConfigData>
<CallerNo1>123</CallerNo1>
<MobileNo1>123</MobileNo1>
<MobileNo2>123</MobileNo2>
<MobileNo3>123</MobileNo3>
<MobileNo4>123</MobileNo4>
<MobileNo5>123</MobileNo5>
<EmailNo1>123</EmailNo1>
<EmailNo2>123</EmailNo2>
<EmailNo3>123</EmailNo3>
<EmailNo4>123</EmailNo4>
<EmailNo5>123</EmailNo5>
</ConfigData>
i want to update value to 1111 so i wrote following code to achieve it :
using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
IsolatedStorageFileStream isoFileStream = myIsolatedStorage.OpenFile("Configuration.xml", FileMode.Open, FileAccess.ReadWrite);
XDocument xml = XDocument.Load(isoFileStream, LoadOptions.None);
xml.Element("ConfigData").SetElementValue("CallerNo1", "11111");
xml.Save(isoFileStream);
isoFileStream.Flush();
isoFileStream.Close();
}
then after i read file again it shows xml like this :
<?xml version="1.0" encoding="utf-8"?>
<ConfigData>
<CallerNo1>123</CallerNo1>
<MobileNo1>123</MobileNo1>
<MobileNo2>123</MobileNo2>
<MobileNo3>123</MobileNo3>
<MobileNo4>123</MobileNo4>
<MobileNo5>123</MobileNo5>
<EmailNo1>123</EmailNo1>
<EmailNo2>123</EmailNo2>
<EmailNo3>123</EmailNo3>
<EmailNo4>123</EmailNo4>
<EmailNo5>123</EmailNo5>
</ConfigData><?xml version="1.0" encoding="utf-8"?>
<ConfigData>
<CallerNo1>11111</CallerNo1>
<MobileNo1>123</MobileNo1>
<MobileNo2>123</MobileNo2>
<MobileNo3>123</MobileNo3>
<MobileNo4>123</MobileNo4>
<MobileNo5>123</MobileNo5>
<EmailNo1>123</EmailNo1>
<EmailNo2>123</EmailNo2>
<EmailNo3>123</EmailNo3>
<EmailNo4>123</EmailNo4>
<EmailNo5>123</EmailNo5>
</ConfigData>
new xml is created and appended to existing xml what should be done to change the xml file ?
This is because when you call
Save(Stream)on theXmlDocumentinstance you are writing to the end of theisoFileStreamyou need to reset the position in the stream to write over what is already there.The easiest way to do this is to create a new
IsolatedStorageFileStreamfor writing: