Как сохранить данные в файл XML - PullRequest
1 голос
/ 18 января 2012

Мое приложение содержит 8 TextFields. Когда я нажимаю кнопку «Отправить», я хочу сохранить все значения из TextFields в файл XML (и сгенерировать файл XML, если требуется). Как я могу это сделать?

Ответы [ 4 ]

1 голос
/ 29 июня 2012

Другой XML-писатель, который выполнит свою работу: XSWI (бесстыдный плагин - я написал этот код).

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

Вам нужен файл XML в определенном формате?Если не самый простой способ, это сохранить его как plist (тип файла xml), поместив ваши строки в массив, а затем сохранить массив как plist, используя

NSArray *array = [NSArray arrayWithObjects:label1.text, label2.text, label3.text, etc, nil];
[array writeToFile:fileName atomically:YES];

Приятная вещь о plistзаключается в том, что вы можете легко загрузить строку снова, вызвав:

NSArray *array = [NSArray arrayWithContentsOfFile:filename];

Если вам нужен ваш XML в другом формате, отличном от того, что создает plist, самый простой способ, вероятно, состоит в том, чтобы просто создать XML самостоятельно, используя конкатенацию строкНапример,

NSString *xml = [NSSString stringWithFormat:@"<root><label>%@</label><label>%@</label><label>%@</label>etc</root>", label1.text, label2.text, label3.text, etc];
0 голосов
/ 18 января 2012

Вы можете использовать GDATAXML для чтения и записи XML в файл.Перейдите по этой ссылке, чтобы увидеть, как это делается.http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml

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

Есть много способов сделать это. Один быстрый и грязный способ сделать это - сгенерировать строку в вашем коде и вставить значения

, например

NSString *myXML = [NSString stringWithFormat:@"<myxml><value1>%@</value1><value2>%@</value2></myxml>", textfield1, textfield2];

Затем откройте файл и запишите в него myXML.

Не очень элегантно, но это зависит от того, что именно вы хотите.

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