2016-07-27 15 views
0

Nach this Dokument sollte Xamarin in der Lage sein, Dateien im persönlichen Speicher der Anwendung zu schreiben. Problem ist, dass ich sowohl XDocument.Save (string path) als auch XMLWriter benutzt habe, um meine XML-Daten in einer Datei zu speichern, aber nichts passiert! Kein Fehler, aber die Datei wird nicht erstellt. Wenn Sie einen anderen Pfad verwenden, wird eine Ausnahme ausgelöst, wenn Sie keinen Zugriff auf diesen Bereich haben. Dies bedeutet, dass der Code versucht, die Datei zu schreiben. Wenn Sie jedoch einen gültigen Platz angeben, wird nichts geschrieben. Ich benutze:Xamarin XDocument speichert keine Dateien

System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal) 

meinen Weg zu bekommen und fügen Sie dann „/file.xml“ zu. Ich gebe diesen Weg zu

XDocument doc = new XDocument(); 
doc = XDocument.Parse("<names></names>"); 
doc.Save(path); 

ich diese Lösung in Fenstern ausprobiert und es funktioniert aber nicht in Xamarin.Android

Antwort

0

wie beim Speichern, ich war in der Lage, es zu tun nach meiner App WRITE_EXTERNAL_STORAGE geben. Allerdings scheint es seltsam ... da ich Dateien über File.WriteAllText an der gleichen Stelle schreiben konnte ... und mein Code niemals irgendeine Ausnahme bezüglich illegalem Zugriff oder was auch immer machte. Nach diesem Problem ist eine weitere seltsame Sache passiert. XDocument.Save schrieb die Datei, aber später, wenn es geladen werden wollte, warf eine Ausnahme über "XML-Deklaration" ... der seltsame Teil ist, XDocument.Save selbst schreibt diesen Teil automatisch und es kann nicht falsch sein! Als ich überprüfte die Datei, es war völlig in Ordnung. So schließe ich, dass entweder XDocument in Xamarin fehlerhaft ist (da ich den genauen Code in Windows ohne irgendein Problem verwendet habe) oder mein Android-Gerät fehlerhaft ist. Beide Szenarien sind unwahrscheinlich.