0

大家好,当我尝试使用从 Web 服务响应中获得的数据初始化我的 NSXMLparser 时,我什么也没得到(零值)这是我使用的代码:

头文件.h

NSData*abccc;
NSMutableData*conWebMutableData;
NSXMLParser*xmlParser;

@interface ResponseWebServices_View : UIViewController<NSStreamDelegate,   NSXMLParserDelegate>


@property(nonatomic,strong)NSMutableString*soapResults;
@property(nonatomic,strong)NSXMLParser*xmlParser;
@property(nonatomic, strong)NSData*abcc;

@end

文件.m

-(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response{
[conWebMutableData setLength:0];

}

-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data{
[conWebMutableData appendData:data];

}
-(void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error{
NSLog(@"ERROR with con");

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

NSString*theXML = [[NSString alloc]initWithBytes: [conWebMutableData mutableBytes]   length:[conWebMutableData length]encoding:NSUTF8StringEncoding];
NSLog(theXML);
abccc= [theXML dataUsingEncoding:NSUTF8StringEncoding];
//xmlParser = [[NSXMLParser alloc]initWithData:conWebMutableData]; (0x00000000)xmlParser value i get
//xmlParser = [[NSXMLParser alloc]initWithData:abccc]; (0x00000000)xmlParser value 
[xmlParser setDelegate:self ];
[xmlParser setShouldResolveExternalEntities: YES];
[xmlParser parse];

}

一条链接

4

1 回答 1

0

试试这个来分配 xml 解析器

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

NSString *xmlResponseString = [[[NSString alloc] initWithData:conWebMutableData encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"xmlResponseString--->%@",xmlResponseString);

if([conWebMutableData length]>0)
{
xmlParser = [[NSXMLParser alloc]initWithData:conWebMutableData]; 
[xmlParser setDelegate:self ];
[xmlParser setShouldResolveExternalEntities: YES];
[xmlParser parse];
}
else
{
Nslog("either server not send response or conWebMutableData   is empty  ");
}

}

于 2012-07-19T11:49:10.833 回答