Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何使用XML解析器发布多个请求?_Iphone_Objective C_Ios_Ios4 - Fatal编程技术网

Iphone 如何使用XML解析器发布多个请求?

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

我想用XML解析器在同一个类中发布3个请求。我一次只能处理一个请求。当我发布多个请求时,它会显示解析器错误。我就是这样尝试的

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(但不在代码列表中)。如果我对每个请求使用单独的解析器对象,可以吗?非常感谢,我会试试的。非常感谢你的指导。但是如何为每个请求使用单独的块/线程呢?你能不能给我一个小的代码样本,然后我可以进行进一步的工作