UITable вид, изображения, RSS-каналы - PullRequest
0 голосов
/ 15 марта 2011

я использую nsxmlparser для чтения RSS-канала Apple Itunes. Не могли бы вы, ребята, помочь прочитать это конкретное изображение XML.

<im:image height="55">http://a1.phobos.apple.com/us/r1000/028/Music/5c/aa/fe/mzi.fsnbyjmf.55x55-70.jpg</im:image>

ниже приведен код

 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary*) attributeDict
{           
        currentElement = [elementName copy];

    if ([elementName isEqualToString:@"entry"]) {
        // clear out our story item caches...
        item = [[NSMutableDictionary alloc] init];
        currentTitle = [[NSMutableString alloc] init];
        currentDate = [[NSMutableString alloc] init];
        currentSummary = [[NSMutableString alloc] init];
        currentLink = [[NSMutableString alloc] init];
        currentString=[[NSMutableString alloc] init];
        currentImage = [[NSMutableString alloc] init];
           currentContent=[[NSMutableString alloc]init];    

    }
    if ([attributeDict objectForKey:@"href"]) 
     {
     currentString=[attributeDict objectForKey:@"href"];
        NSLog(@"what is my current string:%@",currentString);
     [item setObject:currentString forKey:@"href"];

     }

}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:   (NSString *)namespaceURI qualifiedName:(NSString *)qName{     

    if ([elementName isEqualToString:@"entry"]) {
        [item setObject:currentTitle forKey:@"title"];
        [item setObject:currentLink forKey:@"link"];
        [item setObject:currentSummary forKey:@"description"];
        [item setObject:currentDate forKey:@"published"];
        //[item setObject:currentImage forKey:@"im:image height=55"];
        NSLog(@"the current image content:%@",item);
        [stories addObject:[item copy]];
        [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;

        }
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
    //NSLog(@"found characters: %@", string);
    // save the characters for the current item...///////////element
    if ([currentElement isEqualToString:@"title"]) {
        [currentTitle appendString:string];
    } else if ([currentElement isEqualToString:@"link"]) {
        [currentLink appendString:string];
    } else if ([currentElement isEqualToString:@"description"]) {
        [currentSummary appendString:string];
    } else if ([currentElement isEqualToString:@"published"]) {
        [currentDate appendString:string];
    }
    else if ([currentElement isEqualToString:@"url"]) {
        [currentContent appendString:string];
    }
}

1 Ответ

0 голосов
/ 15 марта 2011

@ user652878 попробуйте это кодирование хорошо работает ..... В didStartelement напишите следующее .. else if ([elementName isEqualToString: @ "media: content"])

{
    currentImage = [attributeDict valueForKey:@"url"];
}

В didEndElement, ....... еще if ([elementName isEqualToString: @ "media: content"]) {

              [item setObject:currentImage forKey:@"image"];
 }

В найденных символах ........................ else if ([currentImage isEqualToString: @ "media: content"]) {

    [currentImage appendString:string];
}

используйте NSLog, чтобы увидеть, получаем ли мы ссылку на изображение или нет .... Конечно, вы получите решение ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...