Я заменяю простой initWithContentsOfURL: динамическим HttpGet, где я передаю два параметра, и эта веб-страница возвращает те же данные, что и XML в текстовом формате.
Должен ли я действительно анализировать данные, чтобы получить их в массив словарей? Я надеялся на NSXMLParser initWithData:, а затем на какой-нибудь автоматизированный способ инициализации NSArray со всеми узлами, структура которого соответствует XML. (Это plist в формате XML, поэтому структура и все имена ключей уже в нем. Почему я должен писать реплику всего этого еще и на Objective-C?!)
Я был бы счастлив, если бы httpполучил текстовый файл, а затем NSArray initWithContentsOfFile.
Изменить: это дает объект NSData размером 26 КБ, но сообщение об ошибке «Преобразование строки не удалось. Строка пуста».
//Initiate connection
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setURL:url(aspurl)];
[request setHTTPMethod:@"GET"];
//keep adding your headers this way
NSString *accept = [NSString stringWithFormat:@"application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,/*;q=0.5"];
[request addValue:accept forHTTPHeaderField: @"Accept"];
//send request & get response
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *errString;
NSMutableArray *arr=[NSPropertyListSerialization propertyListFromData:returnData
mutabilityOption:NSPropertyListMutableContainers
format: NULL
errorDescription:&errString];
if (errString)
{
NSLog(@"%@",errString);
[errString release]; // exception to the rules
}
Это дает ошибку «Преобразование строки не удалось. Строка пуста». и обр 0x0.
Кто-нибудь может указать на мою ошибку?