-1

我想写一个管理食谱的软件。配方是有效的独立 xml 文件。它们包含字符串和整数值以及图像数据(以 base64 表示)。用户应该能够创建/打开、编辑和保存食谱。现在我担心文件管理和效率(速度和内存)。

  1. 我应该如何管理所有的食谱?我想我可以将它们全部作为纯 xml 文件存储在一个文件夹中,或者将它们全部存储在某种库文件中。第一种方法在启动时可能更快,因为当用户单击它们时会加载配方,例如在 QTreeView 中。第二种方法可能更有效和更快,因为整个库将保存在内存中,尽管更改其内容可能更复杂。

  2. 我想使用 DOM 来处理 xml 文件——或者 QXmlStreamReader/writer 会是一个更好的选择吗?

  3. 无论哪种方式,我都必须使用唯一的 ID 管理配方数据,例如几个不同的“Cookies”配方。当使用问题 1 中的第一种方法时,我会使用基于此类 ID 的文件名。是否有任何方便的方法来创建唯一 ID?因为当使用递增整数时,我必须跟踪哪些数字已经在使用。

4

1 回答 1

2

我正在使用 XML 文件在我的食谱程序中传输食谱。我可以选择使用 XML 进行导入和导出。

我正在使用数据库来存储食谱。我不使用 XML 数据文件来存储食谱。我将把数据管理留给数据库(我不会浪费时间编写和调试数据库)。

对于数据存储,有比 XML 更有效的文件格式。此外,您可能希望创建“索引表”,以允许对文件进行排序和更有效地访问,而不是总是解析 XML 文件。

于 2013-11-03T19:17:22.247 回答