【发布时间】:2011-06-13 13:11:46
【问题描述】:
我的 nsxmlparser 可以很好地解析新闻提要:
http://www.skysports.com/rss/0,20514,12433,00.xml
然而,在将它保存到我的自定义对象中时,虽然我收到了 xml 中每个条目的输出,但它只存储了一条恰好是最后一条的记录。
请看我的代码:
-(void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ([elementName isEqualToString:@"rss"]) {
currentNews = [[NewsParse alloc] init];
}
}
-(void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
if ([elementName isEqualToString:@"description"]) {
currentNews.newsTitle = currentNodeContent;
NSLog(@"description = %@",currentNodeContent);
}
if([elementName isEqualToString:@"rss"])
{
[news addObject:currentNews];
[currentNews release];
currentNews = nil;
[currentNodeContent release];
currentNodeContent = nil;
}
}
此方法适用于 twitter 提要,但现在我假设因为 xml 的格式不同,我无法让它工作。
我对使用 NSXMLParser 还是很陌生,所以任何帮助都会很酷:)
【问题讨论】:
-
您有什么理由错过
[NewsParse alloc]中的init? -
哎呀,我错过了。无心工作
-
那是因为你的
init可能是空的。不过,您应该在问题中更正它,以免误导回答者。
标签: iphone objective-c ios cocoa-touch ios4