我想根据 xml 格式的标题和链接从网站获取更新。
我试过下面的代码,但它不起作用。在控制台中显示消息:
2011-11-03 14:45:05.987 tabbar[673:e903] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString isEqualtostring:]: unrecognized selector sent to instance 0x5746830'
如果我再次运行,表格 View 正在加载,但表格单元格中没有数据。
它在 if ([elementName isEqualtostring:@"item"])
行显示此消息:
program received signal SIGABRT
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
classelement = elementName;
if ([elementName isEqualtostring:@"item"])
{
itemselected = YES;
multitle = [[NSMutableString alloc]init];
mullink = [[NSMutableString alloc]init];
}
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedname:(NSString *)qName
{
if ([elementName isEqualToString:@"item"])
{
itemselected = NO;
[titlearray addObject:multitle];
[linkarray addObject:mullink];
[multitle release];
[mullink release];
[self.tbl reloadData];
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if (itemselected)
{
if ([classelement isEqualToString:@"title"])
{
NSLog(@"%@",string);
[multitle appendString:multitle];
}
else if([classelement isEqualToString:@"link"])
{
[multitle appendString:string];
}
}
}
最佳答案
如果您直接从网站阅读,您很可能会收到“无效”字符。一旦解析器看到这些无效字符,它就会崩溃。我建议考虑使用“HPPLE Parser”。它工作得更好,如果输入无效字符也不会崩溃。
此处提供惠普信息:http://blog.objectgraph.com/index.php/2010/02/24/parsing-html-iphone-development/
关于ios - 如何使用 NSXMLParser 解析来自网站的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992583/