2010-09-05 34 views
0

我想創建一個應用程序的iPhone應該能夠連接到服務器並下載一個XML文件。每次請求時,都應該從數據庫中新鮮生成文件。如何請求並接收自定義生成的XML文件?

舉個例子,假設一個向用戶推薦圖書的應用,其中推薦是由服務器在每次請求時生成的。
起初,沒有信息將從應用程序傳輸到服務器。該應用程序始終請求使用或多或少隨機內容生成的相同文件。在後面的步驟中,我想傳輸登錄信息以便能夠單獨回答請求,但這不是首要任務。爲了簡單起見,我想依賴「通用」基礎設施,就像運行php的簡單網絡服務器一樣。該應用程序的目標是利基,我不期望重負荷。

你將如何實現這樣的功能?你將如何處理在應用程序中創建請求/連接到服務器和交付xml文件?這可以在服務器端使用php完成,還是需要更專門化的東西?

非常感謝!

回答

0

好的我自己找到了一個簡單的解決方案(從一個php-pro的一點幫助)。

首先我讓我的應用程序請求的PHP文件(我希望收到作爲參數的項目數)是這樣的:

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]; 

php文件將從讀取條目的請求數量mysql數據庫,然後輸出xml數據。

我需要做的就是將loadResult的內容填充到xml解析器中 - 完美地工作。

+0

儘管你不應該使用同步請求。阻止網絡I/O的主線永遠不是一個好主意,特別是不在iPhone項目中。 – Sven 2010-09-09 22:16:21

+0

你說得對。這是讓事情順利進行的最簡單方法,但我會切換到異步請求。感謝您指出了這一點! – Toastor 2010-09-10 08:36:31

0

調查SOAP和PHP的SoapServer類。

+0

感謝您的回答!我正在尋找更基本的東西,但是..我解決了我的問題,如我的答案中所述。但我會在將來的項目中記住你的建議:) – Toastor 2010-09-09 12:55:30

相關問題