目标C,NSXML解析器委托方法永远不会叫
问题描述:
xmlParser = [[NSXMLParser alloc]initWithData:[xmlString dataUsingEncoding:NSASCIIStringEncoding]];
[xmlParser setDelegate:self];
[xmlParser parse];
我有这个在ApplicaitonDelegate.m文件,我想在解析XML文档 - didFinishLaunchingWithOptions方法。我在头文件中实现NSXML委托,但委托方法永远不会被调用。目标C,NSXML解析器委托方法永远不会叫
答
您正在使用NSASCIIStringEncoding。 你确定你的XML是ascii编码的吗? 如果您不知道,请尝试使用NSUTF8StringEncoding。无论如何,这是一个更好的选择,因为它“包含”ASCII。
您是否实施了parseErrorOccurred委托消息?
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
如果有相关的编码错误,你应该得到一个错误,例如
NSXMLParser error=31 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 31.)"
我们可以看到你的委托方法的实现吗? – 2011-03-21 07:16:38
是的,向我们展示您期望被调用的方法。 – 2011-03-21 07:27:56