将&XDocument保存到"使用流"

时间:2016-01-29 17:37:18

标签: c# xml windows-store-apps uwp

因此,我尝试执行打开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();
}

当我得到一个"访问被拒绝"错误。我猜它是一个简单的解决办法,但我在搜索的最后一小时内找不到任何东西。有什么想法吗?

1 个答案:

答案 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