NSXMLParser Отсутствующие символы

Я анализирую файл XML, используя NSXMLParser, который прекрасно работает, но иногда дает мне неточные результаты.

Например, я получаю этот URL:

http://www.thehungersite.com/clickToGive/home.faces;jsessionid=01F974DC9E276DA587AE299175EDF4F4.ctgProd02?siteId=4&link=ctg_trs_home_from_ths_home_sitenav

но NSXMLParser выходы:

http://www.thehungersite.com/clickToGive/home.faces;jsessionid=01F974DC9E276DA587AE299175EDF4F4.ctgProd02?siteId=4&link=ctg_trs_home_from_ths_home_sitenav

По какой-то причине он проигнорировал #38; часть строки - как я могу получить это обратно? Предполагая, что это была HTML-кодировка, которую я пробовал stringByAddingPercentEscapesUsingEncoding: но это не сработает.

Есть идеи?

3 ответа

Решение

Возможно, лучший ответ на этот вопрос может помочь: Цель-C: Как заменить сущности HTML?

Это в основном категория для созданной NSString, которая предлагает как кодирование, так и декодирование HTML-сущностей в NSString.

XML использует тот же механизм кодирования ссылок на символы, что и HTML (хотя он имеет только 5 предопределенных именованных объектов, в отличие от огромного числа, определенного для HTML). & это кодировка для & персонаж.

Вы используете стандарт ISO. Попробуйте использовать%26 или URL-кодировку.

Другие вопросы по тегам