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

我假设你得到了结果,所以只会回应解析。

我通常使用XMLReader来轻松解析 xml。您还可以使用或直接使用其他第三方库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 回答
0

请创建基于 REST 的 Web 服务,因为它变得非常容易与数据库交互并转移到 JSON。

于 2013-03-13T08:47:26.307 回答