IOS - парсинг Youtube RSS с GData - проблемы с пространством имен - PullRequest
2 голосов
/ 02 июля 2011

Я некоторое время боролся, пытаясь понять это, и я надеюсь, что кто-то там может помочь.

Я использую синтаксический анализатор GData XML для чтения канала Atom, предоставляемого Youtube. Я могу получить доступ ко всему, кроме элементов, которые существуют в пространстве имен, например:

Вот фрагмент кода, который я пытаюсь заставить работать:

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, а не с помощью API GData для обработки YouTube (кажется, слишком сложно просто получить простое значение в RSS-канале).

Спасибо!

1 Ответ

2 голосов
/ 09 июля 2011

media: миниатюра находится внутри media: group;вам нужен полный путь к выбранным элементам.Взгляните на учебник по XPath, например this , и не игнорируйте сообщения об ошибках XPath.

...