2011-07-02 44 views
2

我一直在努力尋找解決辦法,我希望有人能幫到你。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提要中獲得一個簡單的值)。

謝謝!

回答

2

media:thumbnail is inside media:group;你需要選擇元素的完整路徑。查看一個XPath教程,如this,不要忽略來自XPath的錯誤響應。

+0

謝謝!我發誓我上週試過這個沒有結果,但是剛剛進行的一個快速測試返回了正確的結果。準確的代碼如下所示: NSArray * mediaThumbnails = [item nodesForXPath:@「media:group/media:thumbnail」error:nil]; – PrairieHippo