我有一个存储在具有“ ImageName”,“ ImageCaption”和“ EventName”等列的表中的图像数据库。
我想查询并获取具有特定“ EventName”(由用户选择)的所有图像,如下所示:
$EventName = $_POST['EventName'];
$query = "SELECT * from ImageGalleryTable WHERE EventName = '". $EventName . "'";
棘手的是,用户选择不是来自HTML表单,而是来自iPhone App。这是我的Objective-C代码:
NSString *myRequestString = [NSString stringWithFormat:@"EventName=%@", eventUserChose];
NSData *myRequestData = [NSData dataWithBytes:[myRequestString UTF8String] length:[myRequestString length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString: @"http://mydomain.com/GetGalleryImages.php"]];
[request setHTTPMethod: @"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody: myRequestData];
NSURLResponse *response;
NSError *err;
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSString *content = [NSString stringWithUTF8String:[returnData bytes]];
NSLog(@"responseData: %@", content);
所有这些工作都有效:我通过
responseData
取回的数据很好-它是由我在顶部调用的PHP脚本生成的XML,在那里一切都很干净。该应用程序的POST也可以工作-因此一切都很好。所以我的问题是:我该如何解析这个吸盘?
我已经使用NSXMLParser完成了大量的解析(是的,我知道它不是最好的解析器-请在这里不进行讨论:-))-但是我解析的所有XML通常都是从服务器准备好的-如果您了解我的意思,则不依赖于任何POSTed值。
通常我是这样解析的:
NSURL *url = [NSURL URLWithString:@"http://mydomain.com/makeMyXML.php"];
parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
[parser setDelegate:self];
[parser parse];
然后,我开始跑步。但是在这里,我必须同时发布一些内容-我认为我只能对上面包含的
NSURLConnection
代码进行处理-然后我还必须对其进行解析-通常我对所包含的NSXMLParser代码进行处理-但它们似乎冲突。我的意思是他们俩都发起了请求流程,不是吗?那么我到底应该怎么做呢?正确的方法是什么?
最佳答案
您还可以使用其他方法来创建“ NSXMLParser”:
parser = [[NSXMLParser alloc] initWithData:responseData];
这样您就可以提供下载的XML数据。
关于php - iOS App需要POST到PHP脚本,然后解析返回的XML,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18140448/