下面的代码显示以下消息: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/

10-12 12:43
查看更多