如何将数据写入Windows Phone 8中的xml值

时间:2014-09-24 17:26:57

标签: c# xml windows-phone-8

我有一个xml文件名“person.xml”,结构如下

<?xml version="1.0" encoding="utf-8" ?>
<people>
    <person id="1" name="" age="" />
    <person id="2" name="" age="" />
    <person id="3" name="" age="" />
</people>

我想更新个人ID 1的名称和年龄;我的代码是这样的

using(IsolatedStorageFile storage = IsolatedStorageFile.GetUserStoreForApplication())
{
    filename = "person.xml";
    if(storage.FileExists(filename))
    {
        using(IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream(filename,FileMode.Open,storage))
        {
            XDocument doc = XDocument.Load("person.xml");
            foreach (var item in (from item in doc.Descendants("person")
                                  where item.Attribute("id").Equals("1")
                                  select item).ToList())
            {
                item.Attribute("name").SetValue("Hello");
                item.Attribute("age").SetValue("24");
            }
            doc.Save(isoStream);
        }
    }
}

然而,在我运行应用程序并检查person.xml中的值之后,我看到person id 1上的值从未更新过。当我在运行时期间取消应用程序时,断点在“if(storage.FileExists(filename))”行跳过,好像文件person.xml不存在但我确实创建了它并在解决方案资源管理器中看到它。

最后,请原谅我,我知道我的问题可能会像我在updating an existing xml file in Windows Phone和网络上的其他来源一样重复,但在他们之后,我仍然无法通过自己的问题解决问题。

0 个答案:

没有答案