XDocument lost Declaration after update
Here my code, after edit node in that xdoc, i call method save to save it
but the xdoc has lost it's first line declaration. I already set
xdoc.Declaration but it didn't work. Anyone have solution for this case ?
Thanks so much :)
using (Stream stream = storage.OpenFile("APPSDATA.xml", FileMode.Open,
FileAccess.ReadWrite))
{
//var xdoc = XDocument.Load("APPSDATA.xml");
var xdoc = XDocument.Load(stream, LoadOptions.None);
var listnode = from c in xdoc.Descendants("Ungdung")
select c;
var xElements = listnode as IList<XElement> ??
listnode.ToList();
for (int i = 0; i < xElements.Count; i++)
{
progressIndicator.Text = "Checking " +
xElements[i].Element("Name").Value + "...";
var element = xElements[i].Element("Id");
if (element != null)
{
var appId = element.Value;
var appVersion = await GetAppsVersion(appId);
xElements[i].SetElementValue("Version",
appVersion.ToString());
}
if (i != xElements.Count - 1) continue;
xdoc.Declaration = new XDeclaration("1.0",
"utf-8", "yes");
xdoc.Save(stream);
}
}
No comments:
Post a Comment