将XML数据存储在核心数据中
问题描述:
有没有简单的方法将XML数据存储到核心数据中?将XML数据存储在核心数据中
目前,我的应用程序直接从XML文件中提取值,但是这对于保存超过100个条目的XML文件来说效率不高,因此将数据存储在Core Data中将是最佳选择。 XML文件在应用程序打开时被调用/下载/解析。
使用核心数据,XML数据将被永久下载3600秒左右,并刷新核心数据中的当前数据,以减少打开应用程序时的加载时间。
关于如何做到这一点的任何想法?
审阅了开发者文档后,它看起来不太好吃。
答
我认为你的意思是你必须下载一个XML文件,解析它,然后保存编码在文件中的数据?你有几个选择来保存这些数据。
如果数据相对简单且静态,例如一个项目的重复列表,那么你可能只想使用NSArray,NSSet或NSDictionary(或一些嵌套组合),然后使用集合类writeToFile:
方法将结果集合作为plist写入磁盘。然后,当需要数据时,您只需使用initWithFile:
方法之一。这个系统的缺点是你必须将整个文件读回内存才能使用它。该系统不适用于非常大的数据集。
如果数据很复杂,例如一堆独立但高度相关的数据块,并且数据量适中,那么Core Data会更好。
当然,如果需要,您总是可以选择将下载的文件直接写入磁盘。