“手术无法完成。(NSXMLParserErrorDomain 错误 111。

"The operation couldn’t be completed. (NSXMLParserErrorDomain error 111.)"

提问人:Zubair 提问时间:12/22/2013 最后编辑:KerberosZubair 更新时间:8/21/2018 访问量:2596

问:

我正在尝试在 Xcode 中解析 XML 字符串。它成功解析了字符串,但在它给出错误之后。

下面是 xml 字符串、解析代码和错误消息。请指导我。

先谢谢大家。

XML 字符串。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body><GetProductResponse xmlns="http://searchupc.com/"><GetProductResult>"productname","imageurl","producturl","price","currency","saleprice","storename"
"Nature's Way Kids Smart Omega-3 Vita Balls X 50 Caps","http://ecx.images-amazon.com/images/I/31A5BCa%2BFvL._SL160_.jpg","","22.04","USD","","N/A"
</GetProductResult></GetProductResponse></soap:Body></soap:Envelope>

代码返回“GetProductResponse”和“soap:Body”,然后给出错误。

(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)

NSLog(@"didEndElement() Element: ");
if(([elementName isEqualToString:@"GetProductResponse"]) ||
   ([elementName isEqualToString:@"soap:Body"]) ||
   ([elementName isEqualToString:@"soap:Envelope"])){

    NSLog(@"EOF Reached: %@",elementName);
    // we reach the end of product data string.
    return;
}

这是错误消息:

错误域 = NSXMLParserErrorDomain 代码 = 111 “操作无法 完成。(NSXMLParserErrorDomain 错误 111。

iOS NSXMLPasserErrorDomain

评论

0赞 Léo Natan 12/22/2013
你应该提到你是在iOS还是OS X上工作,Xcode不是一个平台,而是一个IDE。
0赞 Zubair 12/22/2013
嗨,里奥·纳坦,谢谢你的回复。平台形式是“OS X Mountain Lion”

答:

0赞 Zubair 12/24/2013 #1

我自己解决了我的问题。也许它对其他人有帮助。

将 XMLString 分配给 NSData 时出错。我将 NSData 变量范围设置为

,data = [data subdataWithRange:NSMakeRang(0,[data length] -1)];

这是不正确的。

我删除了“ -1 ”,现在它工作正常。

data = [data subdataWithRange:NSMakeRang(0,[data length] )];` 

无论如何,谢谢大家。