我正在创建一个 RSS 阅读器作为一个爱好项目,并且在用户添加他自己的 URL 的地方。
我在想两件事。
- 一个纯文本文件,其中每个 url 都是一行
- SQLite,我可以在 URL 后面拥有唯一 ID 和描述
SQLite 的想法是否会产生很大的开销,还是有更好的方法来做这样的事情?
为什么不是 XML?
如果您无论如何都在处理 RSS,那么您也可以 :)
作为OPML文件呢?它是 XML,因此如果您需要存储比 OPML 规范提供的更多数据,您可以随时添加自己的命名空间。
此外,从其他 RSS 阅读器导入和导出都是通过 OPML 完成的。通常有图书馆支持它。如果您有兴趣让用户切换,那么您必须支持 OPML。感谢 jamesh 提出这一点。
你打算只存储 URL 吗?或者您打算添加类似的数据last_fetch_time
?
如果它只是一个简单的 URL 列表,您的程序将逐行读取并下载数据,将其存储在文件中,甚至更好地存储在写入文件的序列化对象中。
如果您打算扩展它,添加评论/上次获取的时间等,我会选择 SQLite,它的开销并不大。
如果它是一个只有一个实例的单用户应用程序,那么 SQLite 可能是矫枉过正。
在我看来,您有几个选择:
我会选择 XML 文本文件选项。您可以使用 Visual Studio 中内置的 XSD 工具从 XML 数据中创建一个 DataTable,并在需要时轻松将其序列化回文件中。
另一个需要注意的是,我确信您会希望最终用户能够对他们的 RSS 提要进行分类并能够潜在地搜索/排序它们,并且拥有这种数据表样式将对此有所帮助。
您将获得简单的文件存储和访问,这是“数据库”结构的好处,但不是 SQLite 的开销。