Как обрабатывать тег CDATA при разборе файла XML в iPad - PullRequest
3 голосов
/ 27 января 2011

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

Метод parser:foundCDATA: вызывается для каждого обнаруженного тега CDATA, где параметр CDATABlock имеет тип NSData.

Пожалуйста, предложите способ анализа тега CDATA.

Ответы [ 2 ]

5 голосов
/ 27 января 2011

Если вам нужно извлечь строку из CDATA, вы можете использовать этот блок в foundCDATA:

NSMutableString *lStr = [[NSMutableString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
0 голосов
/ 20 июля 2011

Я взял строку из тега CDATA, как сказал Олег Дану, но все же он состоит из тегов XML. Поэтому я записал всю эту строку в файл, когда CDATA обнаружил, и создал еще один XMLParser, установив делегату тот же классисходного тега Parser. Все теги в CDATA правильно анализируются вторичным синтаксическим анализатором. Анализатор будет освобожден в конце метода foundCDATA, и фактический синтаксический анализ будет продолжен.

...