无法在Windows Phone 8.0上更新XML文件,如何修复它
本文关键字:文件 XML 何修复 更新 Windows Phone | 更新日期: 2023-09-27 18:16:10
我在Windows phone 8.0 Silverlight中更新XML文件中的内容时有一个问题。我尝试了这个代码,应用程序运行没有任何错误,但XML没有改变任何东西。这是我的c#代码
public static void WriteUserData(string filePath, User userObj)
{
StreamResourceInfo stream = Application.GetResourceStream(new Uri(filePath, UriKind.RelativeOrAbsolute));
stream.Stream.Position = 0;
XDocument doc = XDocument.Load(stream.Stream);
foreach (var itemU in doc.Descendants("user"))
foreach (var itemP in itemU.Descendants("player"))
{
itemP.SetElementValue("name", "12332");
itemP.SetElementValue("high", "12332");
itemP.SetElementValue("current", "12332");
itemP.SetElementValue("played", "12332");
}
}
这些是我的XML文件中的内容。
<?xml version="1.0" encoding="utf-8" ?>
<user>
<player>
<name>123123</name>
<high>181</high>
<current>0</current>
<played>0</played>
</player>
</user>
调试程序运行了所有行,但没有发生任何事情,请帮助我!
要在windows phone上更新XML文件,必须使用独立的存储空间。
IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication();
string fileName = "YourFileName.xml";
XDocument document;
if (file.FileExists(fileName))
using (IsolatedStorageFileStream stream = file.OpenFile(fileName, System.IO.FileMode.Open))
{
document = XDocument.Load(stream);
}
else
document = XDocument.Load(fileName);
var root = new XElement("player");
var name = new XElement("name", "1233");
var high = new XElement("high", "1233");
var current = new XElement("current ", "1233");
var played = new XElement("played ", "1233");
root.Add(name, high, current,played);
document.Root.Add(root);
using (IsolatedStorageFileStream stream = file.CreateFile(fileName))
{
document.Save(stream);
}