IOS - 用GData解析Youtube RSS - 命名空间问题

问题描述:

我一直在努力寻找解决办法,我希望有人能帮到你。IOS - 用GData解析Youtube RSS - 命名空间问题

我正在使用GData XML解析器来读取Youtube提供的Atom提要。我可以访问的一切,但元素存在于一个命名空间如:

这里是我试图让工作的代码片段:

NSArray *items = [rootElement elementsForName:@"entry"]; 

for (GDataXMLElement *item in items) { 

    NSDictionary *namespaces = [[NSDictionary alloc] initWithObjectsAndKeys: 
           @"media", @"http://search.yahoo.com/mrss/", 
           nil]; 

    NSArray *thumbnails = [item nodesForXPath:@"media:thumbnail']" namespaces:namespaces error:0]; 

我敢肯定,我只是宣布该命名空间不正确,但我不能为了我的生活而弄清楚如何正确地做到这一点。谁能帮忙?我宁愿用XML解决这个问题,而不是使用GData api来处理YouTube(似乎过于复杂,只是为了在RSS提要中获得一个简单的值)。

谢谢!

media:thumbnail is inside media:group;你需要选择元素的完整路径。查看一个XPath教程,如this,不要忽略来自XPath的错误响应。

+0

谢谢!我发誓我上周试过这个没有结果,但是刚刚进行的一个快速测试返回了正确的结果。准确的代码如下所示: NSArray * mediaThumbnails = [item nodesForXPath:@“media:group/media:thumbnail”error:nil]; – PrairieHippo