Я разборе RSS фид с NSXMLParser и это работает прекрасно для заголовка и других строк, но один из элементов является изображением Thats какИспользование NSXMLParser с CDATA
<!CDATA <a href="http:image..etc>
Как добавить, что, как мой изображение ячейки в моем представлении таблицы? Я бы определил это как тип изображения?
Это то, что я использую, чтобы сделать свой синтаксический:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
//NSLog(@"found this element: %@", elementName);
currentElement = [elementName copy];
if ([elementName isEqualToString:@"item"]) {
// 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];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
//NSLog(@"ended element: %@", elementName);
if ([elementName isEqualToString:@"item"]) {
// save values to an item, then store that item into the array...
[item setObject:currentTitle forKey:@"title"];
[item setObject:currentLink forKey:@"link"];
[item setObject:currentSummary forKey:@"description"];
[item setObject:currentDate forKey:@"date"];
[stories addObject:[item copy]];
NSLog(@"adding story: %@", currentTitle);
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
//NSLog(@"found characters: %@", string);
// save the characters for the current item...
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:@"pubDate"]) {
[currentDate appendString:string];
}
}
Да, есть URL изображения там. Как я могу извлечь URL-адрес изображения с помощью NSXMLParser? – Xcoder
Посмотрите на строку внутри раздела CDATA. Если он всегда является допустимым xml, запустите еще один экземпляр NSXMLParser в строке * this *. Если это недопустимый XML, вам нужно будет сделать Something Else ™, например, найти тег вручную. – Justicle
CMS, такие как Wordpress, имеют описание в тегах CDATA. Кодексу Iphone, скорее всего, будет предложено показать текст описания в части читателя RSS его приложения, как и все читатели RSS. Ответ GabrielN - это решение. –