Разбор XML-кода Вопрос - PullRequest
       6

Разбор XML-кода Вопрос

1 голос
/ 05 октября 2010

Я нашел следующий совет по синтаксическому анализу XML в Objective-C в сообщении на этом сайте. Однако y всегда кажется равным нулю. Мне интересно, если кто-то может прояснить, что здесь происходит.

NSString * q = [myURL query];
NSArray * pairs = [q componentsSeparatedByString:@"&"];
NSMutableDictionary * kvPairs = [NSMutableDictionary dictionary];
for (NSString * pair in pairs) {
  NSArray * bits = [pair componentsSeparatedByString:@"="];
  NSString * key = [[bits objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
  NSString * value = [[bits objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
  [kvPairs setObject:value forKey:key];
}

NSLog(@"y = %@", [kvPairs objectForKey:@"y"]);

1 Ответ

0 голосов
/ 06 октября 2010

Создание строки из URL-вызова, например, http://www.somewhere.com/form?name=john&x=123&y=456 NSString * q = [myURL query];

Создание массива пар ключей-значений name = john, x = 123, y= 456 NSArray * pair = [q componentsSeparatedByString: @ "&"];

инициализировать словарь для хранения пар ключ-значение NSMutableDictionary * kvPairs = [словарь NSMutableDictionary];

инициализировать переменную temp"pair" и выполнить итерацию по массиву для (NSString * пара в парах) {

Отделить ключ, левая сторона = от значения NSArray * bits = [pair componentsSeparatedByString: @ "="];сохранить ключ NSString * key = [[биты objectAtIndex: 0] stringByReplacingPercentEscapesUsingEncoding: NSASCIIStringEncoding];сохранить значение NSString * value = [[bits objectAtIndex: 1] stringByReplacingPercentEscapesUsingEncoding: NSASCIIStringEncoding];

заполнить словарь значениями для ключей [kvPairs setObject: value forKey: key];}

Здесь вы распечатаете значение для ключа "y", которое должно быть 456 NSLog (@ "y =% @", [kvPairs objectForKey: @ "y"]);

Не имея остальной части вашего кода, возможно, отправляемый URL не имеет ключевого имени "y", как я сломал в моем примере.

Надеюсь, это поможет !!

...