iOS开发后台请求报错,帮忙看下XML格式哪里有问题 急急急!!!大神们
请求数据代码:
NSString *kvr = [NSString stringWithFormat:@"
[req sendRequest:@"com.portal.android.ExecuteAndroid" metherName:@"changeState" kvrStr:kvr andTag:4001 andUrl:WebServeUrl];
-
(void)sendRequest:(NSString )classPath metherName:(NSString )metherName kvrStr:(NSString )kvrStr andTag:(NSInteger) tag andUrl:(NSString )url
{
__block ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:url]];
// NSLog(@"%@",WebServeUrl);
NSMutableString *requestXml = [[NSMutableString alloc] init];
[requestXml appendString:@""];
[requestXml appendString:@""];
[requestXml appendString:@""]; ",classPath,metherName];
NSString *name = [NSString stringWithFormat:@"%@ %@
[requestXml appendString:name];[requestXml appendString:kvrStr];
[requestXml appendString:@""];
[requestXml appendString:@""];//NSLog(@"%@",requestXml);
NSData *requestData = [requestXml dataUsingEncoding:NSUTF8StringEncoding];[request appendPostData:requestData];
[request setRequestMethod:@"post"];//请求执行完的回掉
[request setCompletionBlock:^{//NSLog(@"Success"); NSData *decompressData = [request responseData]; GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:decompressData options:0 error:Nil]; GDataXMLElement *rootElement = [doc rootElement]; NSArray *result = [rootElement elementsForName:@"result"]; for (GDataXMLElement *response in result) { NSString *code = [[response attributeForName:@"code"] stringValue]; NSString *msg = [[response attributeForName:@"msg"] stringValue]; //01是成功,其余是错误 if (![code isEqualToString:@"01"]) { [self showAlert:msg]; } else { NSArray *datasetArray = [rootElement elementsForName:@"kvdata"]; NSArray *kvadaArray = [rootElement elementsForName:@"dataset"]; GDataXMLElement *data = [kvadaArray objectAtIndex:0]; NSArray *dataArray = [data elementsForName:@"data"]; if ([datasetArray count] > 0) { [_delegate didReceiveData:datasetArray andTag:tag]; }else{ [_delegate didReceiveData:dataArray andTag:tag]; } } } request = nil;
}];
//异常出现
[request setFailedBlock:^{//NSLog(@"Failed"); [self showAlert:@"网络请求失败,请稍后再试"]; // [_delegate didFairToReceiveData:nil andTag:tag];
}];
[request startAsynchronous];
}
回复内容:
报错:Entity: line 1: parser error : Start tag expected, '以下为请求XML,用的是ASIHTTPRequest请求框架,不知错在何处
请求数据代码:
NSString *kvr = [NSString stringWithFormat:@"
[req sendRequest:@"com.portal.android.ExecuteAndroid" metherName:@"changeState" kvrStr:kvr andTag:4001 andUrl:WebServeUrl];
-
(void)sendRequest:(NSString )classPath metherName:(NSString )metherName kvrStr:(NSString )kvrStr andTag:(NSInteger) tag andUrl:(NSString )url
{
__block ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:url]];
// NSLog(@"%@",WebServeUrl);
NSMutableString *requestXml = [[NSMutableString alloc] init];
[requestXml appendString:@""];
[requestXml appendString:@""];
[requestXml appendString:@""]; ",classPath,metherName];
NSString *name = [NSString stringWithFormat:@"%@ %@
[requestXml appendString:name];[requestXml appendString:kvrStr];
[requestXml appendString:@""];
[requestXml appendString:@""];//NSLog(@"%@",requestXml);
NSData *requestData = [requestXml dataUsingEncoding:NSUTF8StringEncoding];[request appendPostData:requestData];
[request setRequestMethod:@"post"];//请求执行完的回掉
[request setCompletionBlock:^{//NSLog(@"Success"); NSData *decompressData = [request responseData]; GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:decompressData options:0 error:Nil]; GDataXMLElement *rootElement = [doc rootElement]; NSArray *result = [rootElement elementsForName:@"result"]; for (GDataXMLElement *response in result) { NSString *code = [[response attributeForName:@"code"] stringValue]; NSString *msg = [[response attributeForName:@"msg"] stringValue]; //01是成功,其余是错误 if (![code isEqualToString:@"01"]) { [self showAlert:msg]; } else { NSArray *datasetArray = [rootElement elementsForName:@"kvdata"]; NSArray *kvadaArray = [rootElement elementsForName:@"dataset"]; GDataXMLElement *data = [kvadaArray objectAtIndex:0]; NSArray *dataArray = [data elementsForName:@"data"]; if ([datasetArray count] > 0) { [_delegate didReceiveData:datasetArray andTag:tag]; }else{ [_delegate didReceiveData:dataArray andTag:tag]; } } } request = nil;
}];
//异常出现
[request setFailedBlock:^{//NSLog(@"Failed"); [self showAlert:@"网络请求失败,请稍后再试"]; // [_delegate didFairToReceiveData:nil andTag:tag];
}];
[request startAsynchronous];
}
由于把请求数据加密了,请求回调时处理数据未解密,所以导致了错误
格式没错哦,你用一个支持xml的ide打开一下就可以知道有没有语法错误。。。
请求数据是不是有错误?
能不能把你打印请求数据的代码贴出来
上一篇: Linux网络备份MYSQL_MySQL