Как управлять рецептами XML с помощью C++ и Qt?
Я хочу написать программное обеспечение для управления рецептами. Рецепты являются действительными автономными файлами XML. Они содержат строковые и целочисленные значения и данные изображения (в представлении base64). Пользователь должен иметь возможность создавать / открывать, редактировать и сохранять рецепты. Теперь у меня есть опасения по поводу управления файлами и их эффективности (скорость и память).
Как мне управлять всеми рецептами? Я думаю, что я мог бы либо сохранить их все как простые XML-файлы в папке, либо поместить их в один какой-либо библиотечный файл. Первый подход может быть быстрее при запуске, так как рецепты загружаются, когда пользователь нажимает на них, например, в QTreeView. Второй подход может быть более эффективным и быстрым, потому что вся библиотека будет храниться в памяти, хотя может быть сложнее изменить ее содержимое.
Я хочу использовать DOM для обработки XML-файлов - или QXmlStreamReader/writer будет лучшим выбором здесь?
В любом случае, мне пришлось бы управлять данными рецепта, используя уникальные идентификаторы, например, для нескольких разных рецептов "Cookies". При использовании первого подхода из вопроса 1. я бы использовал имена файлов на основе такого идентификатора. Есть ли удобные способы создания уникальных идентификаторов? Потому что при использовании целых инкрементов я должен отслеживать, какие числа уже используются.
1 ответ
Я использую файлы XML для передачи рецептов в моей программе рецептов. У меня есть варианты для импорта и экспорта с использованием XML.
Я использую базу данных для хранения рецептов. Я не использую файлы данных XML для хранения рецептов. Я оставлю управление данными в базе данных (я не трачу свое время на написание и отладку базы данных).
Для хранения данных существуют более эффективные форматы файлов, чем XML. Кроме того, вы можете создать "индексные таблицы", которые обеспечивают сортированный и более эффективный доступ к файлам, чем необходимость всегда анализировать XML-файл.