Запись XML-файла на iPhone (Linq=to=Xml и MonoTouch)?
-
19-09-2019 - |
Вопрос
Мне нужно читать, редактировать и сохранять один XML-файл.Другими словами, я хочу снова написать тот же файл, а не создавать новый XML-файл.Чтение и редактирование частей работает, но не сохранение.
Код Linq-to-Xml для сохранения выглядит просто:
doc.Save(this.Path);
Этот работает в Симулятор iPhone но бросает System.UnauthorizedAccessException на устройстве.XML-файл оформлен как «контент» в MonoDevelop.
Любая помощь приветствуется.
/пом
Решение
Вам необходимо сохранить файл в одном из мест, где у вас есть права на запись:
Каталог /Document можно получить с помощью:вар документы = Environment.GetFolderPath (Environment.SpecialFolder.Personal);
Более подробную информацию можно найти на странице «Как хранить файлы»:
Другие советы
Вам разрешено сохранять только в каталог документов вашего приложения.Вы можете получить это так:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
Какова ценность this.Path
?
var documents = Environment.GetFolderPath (Environment.SpecialFolder.Personal);
var document = Directory.GetFiles(documents);