Сбой при получении атрибута с XMLParser - PullRequest
0 голосов
/ 23 ноября 2011

Итак, у меня есть файл XML, и я работаю с ним, используя NSXMLParser.И необходимый элемент -

<media:thumbnail url='https://photourl.jpg' height='160' width='160'/>

Мне нужно получить URL, который я пробовал:

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
    if ([elementName isEqualToString:@"media:thumbnail"]){          
        NSString *string = [[attributeDict objectForKey:@"url"] stringValue];
    }

Но я получаю SIGABRT.Кто-нибудь может мне помочь?

1 Ответ

3 голосов
/ 23 ноября 2011

Помните, что значение, возвращаемое attributeDict, не будет сохранено, поэтому вам нужно будет сохранить его, если вы хотите использовать его вне текущей области.

Рассматривали ли вы случай, если атрибут url не существует - в этом случае [attributeDict objectForKey: @ "url"] вернет nil.

Кроме того, вы, вероятно, не хотите использовать stringValue, просто введите атрибут так:

NSString *string = (NSString*)[attributeDict objectForKey:@"url"];
...