因此,我尝试执行打开XML文件,向其添加XElement并保存它的简单任务。我的密码无效:
Uri dataUri = new Uri("ms-appx:///XML Files/Pinouts.xml");
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(dataUri);
using (var stream = await file.OpenStreamForWriteAsync())
{
XDocument doc = XDocument.Load(stream);
doc.Add(new XElement(XElement.Parse(CurrentPinOut)));
doc.Save(stream);
stream.Flush();
}
当我得到一个"访问被拒绝"错误。我猜它是一个简单的解决办法,但我在搜索的最后一小时内找不到任何东西。有什么想法吗?
答案 0 :(得分:3)
您无法将文件写入 InstalledLocation - 它的只读,但您肯定可以将文件写入 LocalFolder (或其他可访问的地点):
StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("Pinouts.xml", CreationCollisionOption.GenerateUniqueName);
using (var stream = await file.OpenStreamForWriteAsync())
{
XDocument doc = XDocument.Load(stream);
doc.Add(new XElement(XElement.Parse(CurrentPinOut)));
doc.Save(stream);
stream.Flush();
}
有关应用数据的更多信息,请参阅at MSDN。