我想写一个管理食谱的软件。配方是有效的独立 xml 文件。它们包含字符串和整数值以及图像数据(以 base64 表示)。用户应该能够创建/打开、编辑和保存食谱。现在我担心文件管理和效率(速度和内存)。
我应该如何管理所有的食谱?我想我可以将它们全部作为纯 xml 文件存储在一个文件夹中,或者将它们全部存储在某种库文件中。第一种方法在启动时可能更快,因为当用户单击它们时会加载配方,例如在 QTreeView 中。第二种方法可能更有效和更快,因为整个库将保存在内存中,尽管更改其内容可能更复杂。
我想使用 DOM 来处理 xml 文件——或者 QXmlStreamReader/writer 会是一个更好的选择吗?
无论哪种方式,我都必须使用唯一的 ID 管理配方数据,例如几个不同的“Cookies”配方。当使用问题 1 中的第一种方法时,我会使用基于此类 ID 的文件名。是否有任何方便的方法来创建唯一 ID?因为当使用递增整数时,我必须跟踪哪些数字已经在使用。