2

我正在创建一个 RSS 阅读器作为一个爱好项目,并且在用户添加他自己的 URL 的地方。

我在想两件事。

  • 一个纯文本文件,其中每个 url 都是一行
  • SQLite,我可以在 URL 后面拥有唯一 ID 和描述

SQLite 的想法是否会产生很大的开销,还是有更好的方法来做这样的事情?

4

5 回答 5

2

为什么不是 XML?

如果您无论如何都在处理 RSS,那么您也可以 :)

于 2008-10-02T14:58:13.983 回答
2

作为OPML文件呢?它是 XML,因此如果您需要存储比 OPML 规范提供的更多数据,您可以随时添加自己的命名空间。

此外,从其他 RSS 阅读器导入和导出都是通过 OPML 完成的。通常有图书馆支持它。如果您有兴趣让用户切换,那么您必须支持 OPML。感谢 jamesh 提出这一点。

于 2008-10-02T14:59:21.110 回答
1

你打算只存储 URL 吗?或者您打算添加类似的数据last_fetch_time

如果它只是一个简单的 URL 列表,您的程序将逐行读取并下载数据,将其存储在文件中,甚至更好地存储在写入文件的序列化对象中。

如果您打算扩展它,添加评论/上次获取的时间,我会选择 SQLite,它的开销并不大。

于 2008-10-02T14:59:33.903 回答
0

如果它是一个只有一个实例的单用户应用程序,那么 SQLite 可能是矫枉过正。

在我看来,您有几个选择:

  1. SQLite / 数据库层。增加您的代码需要运行的依赖项。但允许并发访问
  2. 滚动您自己的文本解析器。当您想要保存更多数据并且您正在重新发明轮子时,复杂性会增加。更少的依赖,最初,虽然您的数据很简单,但对于您的应用程序的新手用户来说编辑是微不足道的。
  3. 使用 XML。它的格式和定义良好,可编辑文本。不过,只存储一个 URL 可能有点过分了。
  4. 使用pickle之类的东西来序列化您的对象并将它们保存到磁盘。更改数据结构意味着“升级”pickle 文件。对于新手用户来说编辑不是很直观,但非常容易实现。
于 2008-10-02T15:03:32.393 回答
0

我会选择 XML 文本文件选项。您可以使用 Visual Studio 中内置的 XSD 工具从 XML 数据中创建一个 DataTable,并在需要时轻松将其序列化回文件中。

另一个需要注意的是,我确信您会希望最终用户能够对他们的 RSS 提要进行分类并能够潜在地搜索/排序它们,并且拥有这种数据表样式将对此有所帮助。

您将获得简单的文件存储和访问,这是“数据库”结构的好处,但不是 SQLite 的开销。

于 2008-10-02T15:07:36.643 回答