2010-07-23 57 views
1

當前im解析通過託管一個Apache HTTP服務器工作正常的另一臺PC上託管的XML文件。現在是否有可能以iPhone的方式刪除該電腦上的xml文件?iPhone - 是否有可能在解析後刪除服務器上的xml文件

im當前正在使用NSMutableURLRequest並將其設置爲NSData。

NSError * error; 
NSURLResponse * response; 

NSMutableURLRequest *request = 
    [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://ipaddress/UserBedData.xml"] 
          cachePolicy:NSURLRequestReloadIgnoringCacheData 
         timeoutInterval:5.0]; 
[request setHTTPMethod:@"GET"];   
NSData * responseData = [NSURLConnection sendSynchronousRequest:request 
               returningResponse:&response 
                  error:&error]; 
xmlParser = [[NSXMLParser alloc] initWithData:responseData]; 
+0

您可以向服務器發送一個觸發服務器刪除文件的發佈請求。 – Akusete 2010-07-23 02:29:48

+0

Apache http服務器可以嗎? – Kenneth 2010-07-23 02:48:28

回答

2

你對這臺服務器有多少控制權?我假設你有完全訪問權限。

考慮簡單地定期清理XML。在知道不再需要它們之後,每小時運行一次cron作業並刪除文件。也許在後端創建一個列表,記錄訪問數據時的日期,以便安全地過期。

沒有關於你在做什麼的進一步細節,這種方法很難縮小範圍。爲什麼不能在iPhone上解析XML? XML Feed是否可以動態生成,因此沒有要清理的文件? XML數據來自哪裏?這不一定是發佈您的代碼將有所幫助的情況。您應該詳細說明所有部分如何組合(iPhone應用程序,遠程服務器,數據)以及您想要完成的任務。

它甚至是XML文件的集合嗎?或者它總是一樣的?如果它只是一個文件,爲什麼你需要刪除它?當它重新生成時,簡單地覆蓋舊的(並在某處添加日期戳,以便下載它的客戶端知道它何時真的過期)。

2

只有在服務器允許的情況下。如果Web服務器正確安裝了WebDAV,則動詞DELETE和文件的URL應該這樣做(假設您提供了適當的憑據,因爲任何人都可以刪除內容是個不錯的主意)。

刪除與提取幾乎完全相同。只需將"GET"替換爲"DELETE"並忽略返回的內容。但是,有一個認證問題,在閱讀網站時通常無關緊要,但是當您想要刪除網站上的一些內容時,問題非常重要。恐怕我無法幫助你。另外考慮@ joost的答案,這可能比讓客戶刪除服務器上的東西更安全。

+0

請不要在代碼中發佈評論;它幾乎是不可讀的。將其添加到您的問題。 – 2010-07-23 02:36:51

+0

對不起,我的壞。所以我應該如何編碼? – Kenneth 2010-07-23 02:46:07

+0

它仍然很難讀。 – 2010-07-23 04:04:18

相關問題