Синтаксический анализ XML со специальными символами

#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 перед его сохранением или, по крайней мере, добавляемые вами данные и не декодировать их обратно при синтаксическом анализе.

Ссылка на кодировку URL

При получении 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, я снова получаю исходную строку, т. Е. строку со специальными символами. Спасибо