Получить правильный узел из дубликатов XML с NSXML
Я пытаюсь нам NSXML для анализа канала пользователя с YouTube. С парсингом все в порядке, но я не могу понять, как получить ссылку из какого-либо конкретного фильма, так как они 5 точно таких же узлов, как показано ниже:
<link rel="alternate" type="text/html" href="http://www.youtube.com/watch?v=vLleTDikufefbk&feature=youtube_gdata" />
<link rel="http://gdata.youtube.com/schemas/2007#video.responses" type="application/atom+xml" href="http://gdata.youtube.com/feeds/api/videos/vLleTDikededubk/responses" />
<link rel="http://gdata.youtube.com/schemas/2007#video.related" type="application/atom+xml" href="http://gdata.youtube.com/feeds/api/videos/vLlededTDikubk/related" />
<link rel="http://gdata.youtube.com/schemas/2007#mobile" type="text/html" href="http://m.youtube.com/details?v=vLldedeeTDikubk" />
<link rel="self" type="application/atom+xml" href="http://gdata.youtube.com/feeds/api/users/node/uploads/vLlgrgreTDikubk" />
Я выяснил, как получить атрибут href из ссылки на узел. Но так как их 5 разных ссылок, я не знаю, как выбрать только первую. У кого-нибудь есть идея?
Спасибо, ребята!
1 ответ
Решение
Нашел решение уже. Я проверю, есть ли у узла ссылки атрибут с альтернативой. Если это так, у него есть правильный узел ссылки. Вот код:
NSMutableArray *link; if ([elementName isEqualToString:@"link"]) if (!link) link = [[NSMutableArray alloc] init]; NSString *alternate = [attributeDict objectForKey:@"rel"]; if([alternate isEqualToString:@"alternate"]){ NSString *href = [attributeDict objectForKey:@"href"]; alternate = NULL; }