根据this文档,Xamarin应该能够在个人存储应用程序中写入文件。问题是,我使用XDocument.Save(字符串路径)和XMLWriter将我的XML数据保存到文件中,但没有任何反应!没有错误,但也没有创建文件。 如果您使用另一个路径,则会抛出一个异常,即您无法访问该空间,这意味着代码会尝试写入该文件,但是当您为其提供合法空间时,它不会写入任何内容。 我用:
System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal)
获取我的路径然后添加“/file.xml”。我给这条路径
XDocument doc = new XDocument();
doc = XDocument.Parse("<names></names>");
doc.Save(path);
我在Windows中尝试了这个解决方案,但是在Xamarin.Android
中没有用答案 0 :(得分:0)
至于保存,我可以在给我的应用WRITE_EXTERNAL_STORAGE
之后做到这一点。然而,它似乎很奇怪...因为我可以通过File.WriteAllText
在同一个地方写文件...而且我的代码从未抛出任何关于非法访问或其他任何例外。
在这个问题之后,发生了另一件奇怪的事XDocument.Save写了这个文件,但后来当它想加载它时,引发了关于“XML声明”的异常......奇怪的是,XDocument.Save本身自动写出那部分并且它不会出错!当我检查时这个文件,完全没问题。
因此,我得出结论,XDocument在Xamarin中都是错误的(因为我在Windows中使用了确切的代码没有任何问题)或者我的android设备是错误的。这两种情况都不太可能。