下面的代码打印以下消息:Error Domain=NSXMLParserErrorDomain Code=111 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 111.)
mainUrl = [NSURL URLWithString:@"http://www.carris.pt/pt/carreiras"];
NSString *urlContents = [NSString stringWithContentsOfURL:mainUrl encoding:NSISOLatin1StringEncoding error:nil];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:[urlContents dataUsingEncoding:NSISOLatin1StringEncoding]];
[xmlParser parse];
NSLog(@"%@", [xmlParser parserError]);有人有线索吗?正如您可以从代码中看到的那样,html是采用ISO8859-1编码的.
更新:我将url提交给html验证器站点:http://validator.w3.org/,它发现了30多个错误。我认为这与错误有关。但是我可以用HPPLE很好地解析html。
发布于 2016-07-19 23:57:50
似乎还没有人发现正确的答案,所以就在这里。
在NSXMLParserError文档中,它说:
以下错误代码是由NSXMLParser定义的。有关此处未列出的错误代码,请参见头文件。
这个列表中没有提到数字111,所以我们转到/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2/libxml/xmlerror.h,并找到值:
XML_ERR_USER_STOP, /* 111 */XML_ERR_USER_STOP在libxml2中没有太多的文档,但是从读变化集上看,当解析器看到意外的EOF时,它看起来是快速失败的。
发布于 2014-07-24 02:07:56
我还有"111“(无证?)解析时出现错误代码。结果,XML期望XML格式良好(例如,一个根节点包含所有其他根节点)。
发布于 2013-12-08 15:15:33
如果您查看NSXMLParser.h,您将看到错误代码列表:
NSXMLParserInternalError = 1,
NSXMLParserOutOfMemoryError = 2,
NSXMLParserDocumentStartError = 3,
NSXMLParserEmptyDocumentError = 4,
NSXMLParserPrematureDocumentEndError = 5,
NSXMLParserInvalidHexCharacterRefError = 6,
NSXMLParserInvalidDecimalCharacterRefError = 7,
NSXMLParserInvalidCharacterRefError = 8,
NSXMLParserInvalidCharacterError = 9,
NSXMLParserCharacterRefAtEOFError = 10,
NSXMLParserCharacterRefInPrologError = 11,
NSXMLParserCharacterRefInEpilogError = 12,
...所以它看起来像是一个NSXMLParserCharacterRefInPrologError,它在“常量”部分在文件中中定义。上面写着:
在prolog中找到的NSXMLParserCharacterRefInPrologError无效字符。可在iOS 2.0及更高版本中获得。在NSXMLParser.h中声明。
https://stackoverflow.com/questions/20454853
复制相似问题