我正在尝试解析Xcode中的XML字符串。它成功地解析了字符串,但在它出错之后。
这是xml String,解析代码和错误消息。请指导我。
提前谢谢大家。
XML String。
<?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。)“
答案 0 :(得分:0)
我自己解决了我的问题。可能会帮助其他人。
错误在于将XMLString分配给NSData。我将NSData变量范围设置为
,data = [data subdataWithRange:NSMakeRang(0,[data length] -1)];
这是不正确的。
我删除了“-1”,现在工作正常。
data = [data subdataWithRange:NSMakeRang(0,[data length] )];`
无论如何,谢谢大家。