Написание xml-файла на iPhone (Linq = to = Xml и MonoTouch)? - PullRequest
0 голосов
/ 11 февраля 2010

Мне нужно прочитать , редактировать и сохранить один XML-файл. Другими словами, я хочу снова написать поверх того же файла, а не создавать новый XML-файл. Чтение и редактирование частей работают, но не сохранение.

Код Linq-to-XML для сохранения просто:

doc.Save(this.Path);

Это работает в iPhone Simulator , но создает System.UnauthorizedAccessException на устройстве. XML-файл оформлен как «содержимое» в MonoDevelop.

Любая помощь приветствуется.

/ * П 1022 *

Ответы [ 3 ]

6 голосов
/ 11 февраля 2010

Вам необходимо сохранить файл в одном из мест, для которых у вас есть права на запись:

Каталог / Document можно получить с помощью: var documents = Environment.GetFolderPath (Environment.SpecialFolder.Personal);

На нашей странице "Как хранить файлы" есть более подробная информация:

http://wiki.monotouch.net/HowTo/Files/HowTo:_Store_Files

0 голосов
/ 11 февраля 2010
var documents = Environment.GetFolderPath (Environment.SpecialFolder.Personal);
var document = Directory.GetFiles(documents);
0 голосов
/ 11 февраля 2010

Вам разрешено сохранять только в директории документов вашего приложения. Вы можете получить это так:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

Какое значение this.Path?

...