#iphone #objective-c #xml #uitextfield #xml-parsing
#iPhone #objective-c #xml #uitextfield #xml-синтаксический анализ
Вопрос:
В моем приложении для iPhone я должен отображать UITextField
промежуточные элементы в большом абзаце. Здесь я получаю строку этого абзаца из XML. Вот как вставить UITextField
в этот абзац в определенной позиции?
Здесь этот XML также содержит несколько специальных символов, чтобы найти место, куда вставить UITextField
? Итак, также как проанализировать XML, который в виде специальных символов находится между ними, и вставить UITextField
?
Комментарии:
1. Что вы подразумеваете под «специальными символами»?
2. здесь специальными символами между текстом являются = $ amp; < >
Ответ №1:
Почему бы вам не закодировать XML перед его сохранением или, по крайней мере, добавляемые вами данные и не декодировать их обратно при синтаксическом анализе.
При получении XML используйте:
CFURLCreateStringByReplacingPercentEscapes
NSString* sItemNameDecorated = (NSString *) CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)@"UserName&LastName", CFSTR(""), kCFStringEncodingUTF8);
Это приведет к выводу: Имя пользователя и фамилия
Пример
<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="UserNameamp;LastName />
после кодирования:
<?xml version="1.0" encoding="UTF-8"?>
<Persons Name="UserName&LastName />
Комментарии:
1. Таким образом, это заменит специальные символы только на NULL, верно? . но здесь мой вопрос заключается в вставке текстовых полей между ними.
2. О, я никогда не использовал это раньше, не могли бы вы, пожалуйста, подробнее рассказать об этой функции замены, потому что, когда я использую CFURLCreateStringByReplacingPercentEscapesUsingEncoding, я снова получаю исходную строку, т. Е. строку со специальными символами. Спасибо