iPhone - 解析后可以在服务器上删除xml文件

时间:2010-07-23 02:17:59

标签: iphone xml nsxmlparser nsmutableurlrequest

我目前正在通过托管Apache http服务器来解析托管在另一台PC上的xml文件。现在是否可以通过iPhone删除该PC上的xml文件来对其进行编码?

我目前正在使用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];

2 个答案:

答案 0 :(得分:2)

仅在服务器允许的情况下。如果Web服务器正确设置了WebDAV,则动词DELETE以及文件的URL应该这样做(假设您提供了适当的凭据,因为让任何人删除内容都是个坏主意。)

删除几乎与获取相同。只需将"GET"替换为"DELETE",然后忽略返回的内容即可。但是,有一个认证问题,通常在阅读网站时无关紧要,但是当你想要删除网站上的某些内容时,这一点很重要。我害怕,我无法帮助你。还要考虑@ joost的答案,这可能比允许客户端删除服务器上的内容更安全。

答案 1 :(得分:2)

您对这台其他服务器有多少控制权?我假设您有完全访问权限。

考虑只是定期清理XML。在您不再需要文件后,每隔一小时运行一次cron作业并删除文件。也许在后端创建一个列表,记录访问数据的时间,以便安全地过期。

如果没有关于你正在做什么的进一步细节,这种方法很难缩小。为什么你不能解析iPhone上的XML? XML feed是否可以动态生成,因此没有文件可以清理? XML数据来自哪里?这不一定是发布代码会有所帮助的情况。您应该详细说明所有部件如何组合在一起(iPhone应用程序,远程服务器,数据)以及您要完成的任务。

它甚至是XML文件的集合吗?还是总是一样的?如果它只是一个文件,为什么需要删除它?只需在重新生成时覆盖旧的(并在某个地方对其进行日期戳记,因此下载它的客户端知道它何时过时)。