【发布时间】:2011-01-13 13:35:54
【问题描述】:
我是 iphone 开发的新手。我想将我的 xml 解析内容插入到 sqlite3 数据库中并检索它并在 tableView 中显示它。我能够使用 nsxml 解析器解析并直接显示内容。请帮助我如何继续将内容存储在数据库中并检索它。谢谢。
【问题讨论】:
标签: iphone insert sqlite xml-parsing
我是 iphone 开发的新手。我想将我的 xml 解析内容插入到 sqlite3 数据库中并检索它并在 tableView 中显示它。我能够使用 nsxml 解析器解析并直接显示内容。请帮助我如何继续将内容存储在数据库中并检索它。谢谢。
【问题讨论】:
标签: iphone insert sqlite xml-parsing
您应该考虑使用Core Data 而不是 sqlite3。它会自动为您管理大部分繁重的工作,并有效地加载到 TableView。
【讨论】:
您可以离线(即不在 iPhone 应用程序中)或在线(即在 iPhone 应用程序中)进行解析。这取决于您是否需要在运行时将 XML 提供给应用程序。
如果您只是对 SQLite DB 中的 XML 文件的内容感兴趣,那么我建议您进行离线解析,因为您的应用程序运行速度会更快,因为它不会在每次启动时解析 XML。
正如 Hoang 所说,如果可能,您应该考虑使用 Core Data,它可以使用 SQLite 作为其后备存储。这取决于您的应用程序是否需要在 pre-OS 3.x 设备上运行,因为 Core Data 仅在 iPhone OS 3.0b 及更高版本中可用。 Core Data 使处理数据库变得如此简单,并提供了一些简洁的小东西来简化应用程序的构建(例如 NSFetchedResultsController)。
几个月前我问过a similar question。根据收到的回复,我编写了一个基于 Cocoa 的命令行实用程序,运行该实用程序将我的数据预处理为 SQLite DB 表单,我的 iPhone 应用程序项目只是将其作为另一个资源包含在内。由于您已经在使用NSXMLParser,我猜您的大部分解析代码应该可以通过复制粘贴轻松“移植”。
【讨论】:
确保在使用之前阅读核心数据编程指南。
这不是初学者容易理解的东西。
您的项目和 Apple 的示例代码可能会有不同的情况。还要注意性能,尤其是在设备上。
【讨论】: