2011-03-21 67 views
0
xmlParser = [[NSXMLParser alloc]initWithData:[xmlString dataUsingEncoding:NSASCIIStringEncoding]]; 
[xmlParser setDelegate:self]; 
[xmlParser parse]; 

我有这个在ApplicaitonDelegate.m文件,我想在解析XML文档 - didFinishLaunchingWithOptions方法。我在头文件中实现NSXML委托,但委托方法永远不会被调用。目标C,NSXML解析器委托方法永远不会叫

+0

我们可以看到你的委托方法的实现吗? – 2011-03-21 07:16:38

+0

是的,向我们展示您期望被调用的方法。 – 2011-03-21 07:27:56

回答

2

您正在使用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.)"