Проанализированный XML-файл TouchXML вылетает при чтении NSString

#objective-c #xml #nsstring #nsmutablearray #touchxml

#objective-c #xml #nsstring #nsmutablearray #touchxml

Вопрос:

Я могу успешно проанализировать содержимое XML-файла с помощью TouchXML, но когда я пытаюсь прочитать отдельную строку NSString из NSMutableArray, в котором хранится проанализированное содержимое, приложение iPhone выходит из строя.

Мой NSLog показывает мне, что файл был проанализирован должным образом, выдавая этот результат:

  (
        {
        href = "mms://a19349.l412964549958.c41245496.f.lm.akamaistream.net/D/194359/4125596/v0001/reflector:49944";
    },
        {
        href = "mms://a4322.l4129624350471.c414645296.a.lm.akamaistream.net/D/473432/4129566/v0001/reflector:546441";
    } )
  

Вот код, который я использую для синтаксического анализа:

 NSMutableArray *res = [[NSMutableArray alloc] init];

         .... Parsing happens here ....
  

Затем я пытаюсь извлечь строку из NSMutableArray, используя этот код (и приложение вылетает при попытке прочитать эту строку кода, размещенную ниже NSMutableString *string1 = [NSMutableString stringWithString:url];

 NSString *url = [[NSString alloc] init];
url = [res objectAtIndex:0];
NSMutableString *string1 = [NSMutableString stringWithString:url];
[string1 deleteCharactersInRange: [string1 rangeOfString: @"href = "]];
[string1 deleteCharactersInRange: [string1 rangeOfString: @";"]];
NSLog(@"Clean URL: %@", string1);
  

Пожалуйста, как я могу решить эту проблему? Спасибо!

Ответ №1:

TouchXML возвращает вам массив NSDictionaries. Чтобы извлечь строку, вам нужно взять значение из этого NSDictionary:

 NSString *url = [[res objectAtIndex:0] objectForKey:@"href"];