I would like to create an app for iPhone which should be able to connect to a server and download an xml file. The file should be freshly generated from a database every time it is requested.
As an example, imagine an app that recommends books to the user, where the recommendations are generated by the server upon each request.
At first, no information will be transmitted from the app to the server. The app requests always the same file which will be generated with more or less random content. In a later step, I'd like to transmit login information to be able to answer the requests individually, but this is not the top priority.To keep things simple, I'd like to rely on "common" infrastructure, like a simple webserver running php. The app targets a niche and I'm not expecting heavy loads.
How would you implement such a feature? How would you h开发者_如何学Candle creating the request within the app / connecting to the server and the delivery of the xml file? Can this be done using php on the serverside or would this require something more specialized?
Thanks alot!!
Look into SOAP and PHP's SoapServer class.
OK I found a simple solution myself (with a little help from a php-pro).
First I'd let my app request a php file (with the number of items I wish to receive as argument) like this:
NSString *sourcePath = [NSString stringWithFormat:@"http://www.foobar.com/db_getxml.php?%i", numberOfItems];
NSURLRequest *newRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:sourcePath]];
NSURLResponse *response;
NSData *loadResult = [NSURLConnection sendSynchronousRequest:newRequest returningResponse:&response error:NULL];
The php file will read the requested number of entries from a mysql database and then output xml data.
All I need to do is stuff the contents of loadResult
into the xml parser - works perfectly.
精彩评论