使用NSXML从重复xml中获取正确的节点

时间:2011-06-02 14:22:13

标签: iphone objective-c xml ios nsxml

我正在尝试使用NSXML从youtube解析用户的频道。解析工作正常,但我似乎无法弄清楚如何从任何特定电影中获取链接,因为它们与以下节点完全相同:

<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个不同的链接,我不知道如何只选择第一个。有人有想法吗?

Thnx你们!!!“

1 个答案:

答案 0 :(得分:0)

已找到解决方案。我将检查链接节点是否具有包含alternate的属性。如果是,它具有正确的链接节点。这是代码:

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; } 
相关问题