1

次のような整数を返す Web サービスに接続する必要がある IPad アプリを作成しています。

<int xmlns="http://schemas.microsoft.com/2003/10/Serialization/">0</int>

私のコードは次のようになります

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:verficationURL]];
    [request setHTTPMethod:@"GET"];

    NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];


}

-(void) connection: (NSURLConnection *)connection didReceiveData:(NSData *)data{

    [self.responseData appendData:data];



}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection {


    NSString *result = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding];


    NSLog(@"array: %s", result);

}

接続はロードを完了しますが、結果から値 0 を取得できません。これを行う正しい方法は何ですか。ありがとうございました

4

2 に答える 2

0

DBとの対話とJSONへの移行が非常に簡単になるため、RESTベースのWebサービスを作成してください。

于 2013-03-13T08:47:26.307 に答える
0

結果が出ると思いますので、構文解析に関してのみ対応させていただきます。

私は通常、簡単なxml解析のためにXMLReaderを使用しています。使用できる、または直接使用できるサードパーティのライブラリも他にもありますが、NSXMLParsingそのためにもう少しコードを作成する必要があります。

これを使用すると、解析のコードは次のようになります。

NSError *error = nil;
NSDictionary *dict = [XMLReader dictionaryForXMLData:self.responseData error:&error];
NSNumber *result = [dict valueForKey:@"int"];
if(error||!result){
    // handle error (either the result is not xml format, or the xml doesn't contain a 'int' key)
}
else {
    // handle result
}

私はこの正確なコードをテストしていませんが、ほとんど正しいはずです。

于 2013-03-13T07:43:26.477 に答える