у меня в приложении есть XML-файл, который я хочу записать в него данные - PullRequest
0 голосов
/ 01 января 2012

У меня есть этот XML-файл:

<?xml version="1.0" encoding="UTF-8"?>
<Favorites>
    <favorite id="1">
        <title>My first favorite</title>
        <latitude>31.369834</latitude>
        <longitude>34.798207</longitude>
    </favorite>
</Favorites>

, и я хочу написать больше "любимых" в него.У меня есть все данные, которые мне нужны как строки в моем проекте.Но я не могу понять, как на самом деле это сделать - хотя я много пытался.

Не могли бы вы помочь мне сделать это?спасибо.

Ответы [ 2 ]

0 голосов
/ 01 января 2012

Я согласен с респондентами, что вы должны рассмотреть возможность использования файла .plist.Создание объектов NSDictionary из ваших «избранных» объектов и сохранение их массива.

Но, на ваш непосредственный вопрос, вы можете сохранить строку NSString, представляющую ваш XML, как это (но опять же, сохранение XML на основе строк означаетмножество методов анализа и взаимодействия, созданных вами):

// Build The Path
//
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                      NSUserDomainMask, 
                                                      YES);

NSString * filePath = [paths objectAtIndex:0];

filePath = [filePath stringByAppendingPathComponent:@"favorites"];
filePath = [filePath stringByAppendingPathExtension:@"xml"];


// You Should Have A "Favorite" Objects That Know How To Desribe Themselves...
//
NSString * badWayToDoThis = @"<ThinkAboutUsingDictionaries>Saving The Data to a plist</seriously>";

[badWayToDoThis writeToFile:filePath 
                 atomically:YES 
                   encoding:NSUTF8StringEncoding 
                      error:NULL];

Надеюсь, что, по крайней мере, вы попадете туда, куда вы направляетесь.

0 голосов
/ 01 января 2012

Вы можете использовать plist и создавать функции, которые:

First - creates an array or dictionary from the plist
Second - adds new values to your array/dictionary 
Third - saves the dictionary to the same file, overwriting and updating the old version.

Так что вместо вставки значений вы просто перезаписываете обновленную версию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...