Разбор nsxmlparser в iphone приводит к проблемам с кодированием - PullRequest
1 голос
/ 16 апреля 2010

Я работаю над простым читателем RSS. Этот ридер загружает данные из интернета через этот код:

NSXMLParser *rss = [[NSXMLParser alloc] initWithURL:[NSURL URLWithString:@"http://twitter.com/statuses/user_timeline/50405236.rss"]];

Моя проблема с кодировкой. Файл RSS 2.0 должен быть в кодировке UTF8 в соответствии с атрибутом кодировки в файле XML.

<?xml version="1.0" encoding="utf-8"?>

Поэтому, когда я загружаю контент URL-адресов , я получаю текст, урезанный после первого вхождения символа с диакритическими знаками, например:

Я попытался решить проблему, загрузив URL в виде строки UTF8, я использовал этот код:

NSString *rssXmlString = [NSString stringWithContentsOfURL: [NSURL URLWithString: @"http://www.macblog.sk/rss.xml"] encoding:NSUTF8StringEncoding error: nil]; 
NSData *rssXmlData = [rssXmlString dataUsingEncoding: NSUTF8StringEncoding];

Не помогло. Спасибо за ваши ответы.

1 Ответ

0 голосов
/ 21 июля 2010

Проверьте MWFeedParser на GitHub , это выпущенный мной синтаксический анализатор RSS / Atom с открытым исходным кодом, который чрезвычайно упрощает чтение и анализ веб-каналов.

Также есть простое демо-приложение, которое показывает, насколько легко его реализовать.

Надеюсь, что это может быть полезным!

...