Подтвердить что ты не робот

Автоматизированный способ преобразования XML файлов в базу данных SQL?

У нас есть куча XML файлов, следуя схеме, которая по существу представляет собой сериализованную форму базы данных:

<table1>
   <column1>value</column1>
   <column2>value</column2>
</table1>
<table1>
   <column1>another value</column1>
   <column2>another value</column2>
</table1>
...

Есть ли простой способ превратить это в базу данных SQL? Очевидно, что я могу вручную построить схему, идентифицировать все таблицы, поля и т.д., А затем написать script для ее импорта. Мне просто интересно, есть ли какие-либо инструменты, которые могли бы автоматизировать некоторые или все из этого процесса?

4b9b3361

Ответ 1

Для Mysql см. LOAD XML Синтаксис Docs.

Он должен работать без какого-либо дополнительного преобразования XML для предоставленного вами XML, просто укажите формат и определите таблицу внутри базы данных из первых рук с соответствующими именами столбцов:

LOAD XML LOCAL INFILE 'table1.xml'
    INTO TABLE table1
    ROWS IDENTIFIED BY '<table1>';

Существует также связанный с этим вопрос:

Для Postgresql я не знаю.

Ответ 2

Если есть файл XML с двумя разными таблицами, то будет:

LOAD XML LOCAL INFILE 'table1.xml' INTO TABLE table1 
LOAD XML LOCAL INFILE 'table1.xml' INTO TABLE table2

Работа