我想将Xdocument保存到xml文件中,似乎silverlight不接受xdoc.save(string str)的字符串类型,所以我不得不在其中放入一个流,问题是当我放了一个文件流,我得到一个错误,说“尝试访问该方法失败”,并且这里未处理MethodeAccessException是我的代码:
XDocument MainLBItems = XDocument.Load("SampleData/MainLBItems.xml");
MainLBItems.Root.Add(new XElement("Item",
new XElement("Title", this.tb_Title.Text),
new XElement("Dscrp", this.tb_Dscrp.Text),
new XElement("Count", "0")));
FileStream fs = new FileStream("SampleData/MainLBItems.xml", FileMode.Open, FileAccess.Write);
MainLBItems.Save(fs);
答案 0 :(得分:0)
我在Windows Phone 7中只使用了Silverlight,但我怀疑同样适用于桌面Silverlight ...你不能像在整个桌面.NET框架中那样直接使用文件。相反,您必须使用isolated storage。例如:
using (var file = IsolatedStorageFile.GetUserStoreForApplication())
{
using (var stream = file.OpenFile("file.xml", FileMode.Create))
{
document.Save(stream);
}
}
(也可以使用流调整其他代码。)
答案 1 :(得分:0)
您可以将任意文件保存到独立存储(请参阅MSDN for an example),或者您可以打开“另存为”对话框,要求用户访问以写入文件。
从外观上看,您正在从XAP文件或XAP来自的服务器读取XML流。在这两种情况下,你都不能回写那些地方。