Получить правильный узел из дубликатов XML с NSXML - PullRequest
0 голосов
/ 02 июня 2011

Я пытаюсь использовать NSXML для анализа канала пользователя с YouTube.С парсингом все в порядке, но я не могу понять, как получить ссылку из какого-либо конкретного фильма, так как это 5 точно таких же узлов, как показано ниже:

<link rel="alternate" type="text/html" href="http://www.youtube.com/watch?v=vLleTDikufefbk&amp;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 Ответ

0 голосов
/ 05 июня 2011

Нашел решение уже.Я проверю, есть ли у узла ссылки атрибут с альтернативой.Если это так, у него есть правильный узел ссылки.Вот код:

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; } 
...