2011-03-21 76 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.)"