2016-07-27 35 views
0

根據this文檔,Xamarin應該能夠在個人存儲應用程序中編寫文件。問題是,我使用XDocument.Save(字符串路徑)和XMLWriter將我的XML數據保存到文件,但沒有任何反應!沒有錯誤,但文件也沒有創建。 如果您使用其他路徑,將拋出一個異常,您無權訪問該空間,這意味着代碼會嘗試寫入文件,但是當您給它一個合法的空間時,它不會寫入任何內容。 我使用:Xamarin的XDocument不保存文件

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

至於保存,我能夠給我的應用程序WRITE_EXTERNAL_STORAGE之後做到這一點。然而,它似乎很奇怪...因爲我可以在同一個地方通過File.WriteAllText寫文件......而且我的代碼從未拋出關於非法訪問或任何異常的任何異常。 發生這個問題後,又發生了一件奇怪的事情。 XDocument.Save寫了這個文件,但後來當它想要加載它時,拋出了關於「XML聲明」的異常......奇怪的是,XDocument.Save自己自動寫入了這個部分,並且它不會錯!當我檢查該文件,它是完全確定的。 因此,我得出結論,要麼XDocument是Xamarin中的越野車(因爲我在窗口中使用確切的代碼沒有任何問題),或者我的Android設備是越野車。兩種情況都不太可能。