1

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;
}

これはエラーメッセージです:

エラー Domain=NSXMLParserErrorDomain Code=111 「操作を完了できませんでした。(NSXMLParserErrorDomain エラー 111。)」

4

1 に答える 1

0

私は自分の問題を自分で解決しました。それは他の誰かを助けるかもしれません。

エラーは、XMLString を NSData に割り当てる際に発生しました。NSData変数の範囲を次のように設定していました

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

これは間違っていました。

「 -1 」を削除すると、正常に動作するようになりました。

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

とにかくみんなありがとう。

于 2013-12-24T05:40:40.750 に答える