1

我是 iphone 开发新手。我想将我的 xml 解析内容插入到 sqlite3 数据库中并检索它并将其显示在 tableView 中。我能够使用 nsxml 解析器解析并直接显示内容。请帮助我如何继续存储数据库中的内容并检索它。谢谢。

4

3 回答 3

1

您应该考虑使用Core Data而不是 sqlite3。它会自动为您管理大部分繁重的工作,并有效地加载到 TableView。

于 2010-02-05T16:43:09.690 回答
1

您可以离线(即不在 iPhone 应用程序中)或在线(即在 iPhone 应用程序中)进行解析。这取决于您是否需要在运行时将 XML 提供给应用程序。

如果您只是对 SQLite DB 中的 XML 文件的内容感兴趣,那么我建议您离线进行解析,因为您的应用程序运行速度会更快,因为它不会在每次启动时解析 XML。

正如 Hoang 所说,如果可能,您应该考虑使用 Core Data,它可以使用 SQLite 作为其后备存储。这取决于您的应用程序是否需要在 pre-OS 3.x 设备上运行,因为 Core Data 仅在 iPhone OS 3.0b 及更高版本中可用。Core Data 使处理数据库变得如此简单,并提供了一些简洁的小东西来简化构建应用程序(如NSFetchedResultsController)。

几个月前我问了一个类似的问题。根据收到的回复,我编写了一个基于 Cocoa 的命令行实用程序,运行该实用程序将我的数据预处理为 SQLite DB 表单,我的 iPhone 应用程序项目只是将其作为另一个资源包含在内。由于您已经在使用NSXMLParser,我猜您的大部分解析代码应该可以通过复制和粘贴轻松“移植”。

于 2010-02-05T19:10:54.140 回答
1

确保在使用之前阅读核心数据编程指南。

这不是初学者可以轻易理解的东西。

您的项目和 Apple 的示例代码可能会有不同的情况。还要注意性能,尤其是在设备上。

于 2010-02-05T20:14:16.963 回答