应该使用xml还是sqlite3?

时间:2011-05-04 04:04:17

标签: objective-c xml cocoa-touch sqlite

我刚刚开始iOS开发,目前正在开发一个只从服务器读取数据并将其显示在屏幕上的应用程序。我不确定是使用XML还是sqlite3来存储数据。应该更优选哪种方法,为什么?提前致谢。

3 个答案:

答案 0 :(得分:1)

重要的是要记住它们是两个不同的东西,适合不同的任务。选择适合问题的那个。 (在这种情况下,我可能会使用XML或“只是纯文本”,因为它听起来只是一个简单的下载缓存。可以保留原始响应,或者可能已将数据转换为对象,然后自动序列化为XML 或诸如此类。无论如何,请保持简单。)

XML(在核心)是一种标记格式。 XML文档是一种(希望定义明确的)结构。有一大堆工具支持在分层“文档”模型中进行操作和查询。我使用XML作为序列化格式,并在适当时将其用于本地缓存(例如,没有非层次关系)。 XML通常完全加载到内存(例如DOM)中进行操作。

SQLite是一个关系数据库,它围绕表和表集之间的关系设计。能够运行(复杂)查询是关系数据库真正发挥作用的地方。 SQLite也非常快并且可以处理大数据集,这些数据集不能全部适合内存。 SQLite中的列也可以包含文本(读取:XML),因此方法不是正交的。

快乐的编码。

答案 1 :(得分:1)

可能所有这些都取决于数据存储后的处理方式。如果数据必须排序,使用特定的选择等,那么,sqlite是更好的解决方案。 其次,不是那么重要,关注的是将存储多少数据,如果它只是一个包含10行的“表”,那么sqlite可能就太多了。

答案 2 :(得分:0)

如果您想从服务器读取数据并希望在屏幕上显示而不需要在本地保存,那么请使用XML。

如果您想在本地存储它并且不想从服务器获取,那么在项目中使用XML文件或sqlite数据库。

如果您想从服务器获取并在本地存储它,那么首先使用XML获取数据,然后使用sqlite在本地存储它。

并查看@pst答案,了解它们之间的区别。