Iphone 如何使用XML解析器发布多个请求?
我想用XML解析器在同一个类中发布3个请求。我一次只能处理一个请求。当我发布多个请求时,它会显示解析器错误。我就是这样尝试的Iphone 如何使用XML解析器发布多个请求?,iphone,objective-c,ios,ios4,Iphone,Objective C,Ios,Ios4,我想用XML解析器在同一个类中发布3个请求。我一次只能处理一个请求。当我发布多个请求时,它会显示解析器错误。我就是这样尝试的 NSURL *url = [[NSURL alloc] initWithString:getAllFoodsURL]; NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url]; NSString *paramDataString = [NSString stringWithStri
NSURL *url = [[NSURL alloc] initWithString:getAllFoodsURL];
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:url];
NSString *paramDataString = [NSString stringWithString:
@"<GetNames><DeviceId>1234</DeviceId><UserId>200</UserId></GetNames>"];
[req addValue:@"application/xml" forHTTPHeaderField:@"content-type"];
[req setHTTPMethod:@"POST"];
NSData *paramData = [paramDataString dataUsingEncoding:NSUTF8StringEncoding];
[req setHTTPBody: paramData];
NSURLConnection *theConnection=[[NSURLConnection alloc]initWithRequest:req delegate:self];
if (theConnection) {
NSMutableData *data = [[NSMutableData alloc] init];
self.receivedData=data;
[data release];
}
NSURL*url=[[NSURL alloc]initWithString:getAllFoodsURL];
NSMutableURLRequest*req=[[NSMutableURLRequest alloc]initWithURL:url];
NSString*paramDataString=[NSString stringWithString:
@"1234200"];
[req addValue:@“应用程序/xml”用于HttpHeaderField:@“内容类型”];
[req setHTTPMethod:@“POST”];
NSData*paramData=[paramDataString dataUsingEncoding:NSUTF8StringEncoding];
[req setHTTPBody:paramData];
NSURLConnection*连接=[[NSURLConnection alloc]initWithRequest:req委托:self];
if(连接){
NSMutableData*数据=[[NSMutableData alloc]init];
self.receivedData=数据;
[数据发布];
}
我使用了NSXMLParser方法。在一个请求完成(连接释放)后,我创建另一个连接,并对第二个请求执行相同的过程。
但它不起作用
我想知道,如何使用NSXMLParser管理多个请求?如果您能给我一个代码示例,我将不胜感激。我想NSThread正是您想要的
但我不确定,因为我不太清楚这一点。请注意,NSXMLParser不涉及HTTP请求——您是指NSURLRequest吗?您需要单独发出请求,可能需要使用单独的块、操作或线程
检索每个请求的数据后,需要为每个请求使用单独的NSXMLParser对象。NSXMLParser的一个实例在初始化时绑定到它的XML数据——您不能重用解析器。您可以对所有xml解析器使用同一个委托,该委托可以使用每个xml解析器委托方法(即
parser
)的第一个参数来知道哪个解析器正在调用给定的方法。是的,我使用了一个NSXMLParser(但不在代码列表中)。如果我对每个请求使用单独的解析器对象,可以吗?非常感谢,我会试试的。非常感谢你的指导。但是如何为每个请求使用单独的块/线程呢?你能不能给我一个小的代码样本,然后我可以进行进一步的工作