0
我正在創建一個Windows Phone 7應用程序,並且在更改xml文件(位於獨立存儲內部)中的值時遇到了一些問題。 我的方法是在這裏:如何修改存儲在獨立存儲器內的xml文件中的值?
public void updateItemValueToIsoStorage(string id,
string itemAttribute,
string value)
{
using (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var stream = isoStorage.OpenFile(
"items.xml", FileMode.Open, FileAccess.ReadWrite))
{
XDocument xml = XDocument.Load(stream, LoadOptions.None);
//According to given parameters,
//set the correct attribute to correct value.
var data = from c in xml.Descendants("item")
where c.Attribute("id").Value == id
select c;
foreach (Object i in data)
{
xml.Root.Attribute(itemAttribute).SetValue(value);
}
}
}
}
和孤立的存儲在我的XML文件是這樣的:
<?xml version="1.0" encoding="utf-8"?>
<items>
<item id="0" title="Milk" image="a.png" lastbought="6" lastingtime="6" />
<item id="1" title="Cheese" image="b.png" lastbought="2" lastingtime="20" />
<item id="2" title="Bread" image="c.png" lastbought="3" lastingtime="8" />
</items>
我得到這一行一個NullReferenceException:
xml.Root.Attribute(itemAttribute).SetValue(value);
任何想法如何那我該怎麼做? 乾杯。
是的,它似乎工作。我不知道我在那裏有什麼樣的腦凍結。謝謝。 – Baburo 2011-12-18 17:14:12