如何缓存或存储已解析的xml文件?

时间:2011-09-13 21:16:54

标签: iphone caching nsxmlparser

我的应用程序从我的服务器解析xml文件,但是我想存储解析的xml文件并且下次启动我的应用程序,控制器最初应该加载存储的xml文件,然后控制器应该再次解析它以检查是否可能有更新我在xml文件上做了,如果有的话,解析的新元素也应该再次存储。

我指的是杂志,报纸应用等应用。当您打开这些类型的应用程序时,它会加载以前会话下载的存储数据。然而,在加载之后,它开始更新数据,并再次存储新的更新。

我从哪里开始?你们有什么建议?

提前致谢...

3 个答案:

答案 0 :(得分:2)

您可以使用CoreData或SQLite(使用Objective-C包装器FMDB https://github.com/ccgus/fmdb)来保留XML。每次看到唯一ID时都会更新数据库。取决于您的XML数据的方式。

答案 1 :(得分:0)

实际上很容易存储到文档目录中。例如:

NSData *data; //this is your xml file
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docs = [paths objectAtIndex:0];
NSString *filename = [NSString stringWithFormat:@"test.xml"];
NSString *path = [docs stringByAppendingPathComponent:filename];
[data writeToFile:path atomically:YES];

然后稍后检索它,你可以获得上面的路径,但是检索文件而不是写它:

NSData *data = [NSData dataWithContentsOfFile:path];

答案 2 :(得分:0)

CoreData或SQLite可以做到这一点