将XML数据存储在核心数据中

问题描述:

有没有简单的方法将XML数据存储到核心数据中?将XML数据存储在核心数据中

目前,我的应用程序直接从XML文件中提取值,但是这对于保存超过100个条目的XML文件来说效率不高,因此将数据存储在Core Data中将是最佳选择。 XML文件在应用程序打开时被调用/下载/解析。

使用核心数据,XML数据将被永久下载3600秒左右,并刷新核心数据中的当前数据,以减少打开应用程序时的加载时间。

关于如何做到这一点的任何想法?

审阅了开发者文档后,它看起来不太好吃。

我认为你的意思是你必须下载一个XML文件,解析它,然后保存编码在文件中的数据?你有几个选择来保存这些数据。

如果数据相对简单且静态,例如一个项目的重复列表,那么你可能只想使用NSArray,NSSet或NSDictionary(或一些嵌套组合),然后使用集合类writeToFile:方法将结果集合作为plist写入磁盘。然后,当需要数据时,您只需使用initWithFile:方法之一。这个系统的缺点是你必须将整个文件读回内存才能使用它。该系统不适用于非常大的数据集。

如果数据很复杂,例如一堆独立但高度相关的数据块,并且数据量适中,那么Core Data会更好。

当然,如果需要,您总是可以选择将下载的文件直接写入磁盘。