我在iPhone上建立一個需要與PHP服務器通信的應用程序(使用XML)。如何使用XML將iPhone應用程序的對象發送到服務器應用程序?
我能夠從服務器接收數據,並使用NSXML解析器處理xml文件。
我還沒有找到關於從iPhone發送數據到服務器的太多文檔(通過XML)。
任何想法,鏈接和例子將不勝感激。
認爲 亞歷杭
我在iPhone上建立一個需要與PHP服務器通信的應用程序(使用XML)。如何使用XML將iPhone應用程序的對象發送到服務器應用程序?
我能夠從服務器接收數據,並使用NSXML解析器處理xml文件。
我還沒有找到關於從iPhone發送數據到服務器的太多文檔(通過XML)。
任何想法,鏈接和例子將不勝感激。
認爲 亞歷杭
我目前使用XML-RPC從iPhone與服務器交談。似乎有兩種實現可供選擇。
最流行的似乎是從WordPress的iPhone應用程序,但要知道,這是GPL許可:
http://iphone.trac.wordpress.org/browser/trunk/Classes/XMLRPC
我自己也使用此代碼,這是MIT許可:
它取決於你的數據的大小。但如果數據簡單,我認爲您可以使用REST發佈或將數據放入服務器。 http://en.wikipedia.org/wiki/Representational_State_Transfer
一個快速和骯髒的同步REST的實現將是這個樣子:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:@"http://yourserver.com/script"];
[request setHTTPMethod:@"POST"];
const char *bytes = [[NSString stringWithFormat:@"<?xml version=\"1.0\">\n<yourxml>%@</yourxml>", yourData] UTF8String];
[request setBody:[NSData dataWithBytes:bytes length:strlen(bytes)]];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
它需要幾個步驟才能異步發送此POST。您可以在NSURLConnection和URL Loading System的文檔中閱讀有關此信息。