下面的代码显示以下消息: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]);
有人知道吗?如您所见,该代码采用ISO-8859-1编码。
更新:我将URL提交到html验证程序站点http://validator.w3.org/,发现了30多个错误。我认为这与错误有关。但是我可以用HPPLE解析html。
最佳答案
似乎没有人偶然找到正确的答案,所以就在这里。
在NSXMLParserError docs中,它说:
此列表中未提及数字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 */
libxml2中关于
XML_ERR_USER_STOP
的文档并不多,但是从reading the changeset来看,当解析器看到意外的EOF时,这似乎是一次失败。关于ios - NSXMLParserErrorDomain 111,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20454853/