Получение XML-файла из URL в объект NSData - PullRequest
3 голосов
/ 22 августа 2009

Мне нужно загрузить XML-файл из URL-адреса в объект NSData для дальнейшего анализа с некоторыми библиотеками, которые у меня уже есть (но они спрашивают меня о XML-файле как NSData), как я могу это сделать?

Формат URL будет примерно таким:

http://127.0.0.1/config.xml

Ответы [ 2 ]

7 голосов
/ 22 августа 2009

Предполагая, что это данные UTF-8. Если это локально (то есть внутри пакета) что-то вроде:

NSError *error;
NSString* contents = [NSString stringWithContentsOfFile:PATHTOLOCALFILE 
                               encoding:NSUTF8StringEncoding
                               error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];

Если это на удаленном сайте, что-то вроде этого должно сделать это. Обратите внимание, что это синхронно. Если вам нужна асинхронная загрузка, вам придется создать собственную сеть или использовать что-то вроде ASIHTTPConnection, чтобы сначала загрузить файл.

NSError *error;
NSString* contents = [NSString stringWithContentsOfUrl:[NSURL URLWithString:URLOFXMLFILE] 
                               encoding:NSUTF8StringEncoding
                               error:&error];
NSData* xmlData = [contents dataUsingEncoding:NSUTF8StringEncoding];
4 голосов
/ 22 августа 2009

Вы можете вызвать NSData s - (id)initWithContentsOfURL:(NSURL *)aURL рутина. Больше информации здесь:

http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSData_Class/Reference/Reference.html

...