Я рекомендую вам изучить ElementTree для парсинга вашего XML-файла в память (проанализировать все, а затем передать все это в базу данных SQL, возможно, проще, но дерево элементов также допускает инкрементную операцию, если ваш файл огромен) - это часть стандартной библиотеки Python в виде модуля xml.etree .
Я рекомендую sqlite3 (также в стандартной библиотеке Python) в качестве предпочтительной реляционной БД (если у вас есть выбор), опять же, потому что это удобно и просто - базовая встроенная реляционная БД SQLite также хорошо документировано на своем сайте . Если вам нужен общий учебник о том, как Python любит взаимодействовать с реляционными БД («DB-API»), есть хороший здесь .
Как только вы полностью понимаете etree и sqlite3 - и вам не обязательно устанавливать любую вещь для чего-либо (что является частью их чар ;-) - вы в основном все готово. (Конечно, установка самого SQLite (инструменты командной строки и / или GUI), чтобы вы могли просматривать файлы БД и настраивать их, может быть полезна, как и графические XML-редакторы, такие как oXygen или XMLmind для просмотра и / или настройки вашего XML, но ни один из инструментов вообще не нужен необходим , совсем не связанный с использованием Python, а не с другими языками для синтаксического анализа XML и написания SQLite ;-) .
И да, вы можете прекрасно выполнять CREATE TABLE
и другие DDL-запросы из sqlite3
(и любого другого модуля Python, совместимого с DB-API, если вы решите использовать другие реляционные БД; -).