自动将XML文件转换为SQL数据库的方法?

时间:2012-12-12 05:45:22

标签: mysql xml postgresql schema

我们有一堆XML文件,遵循一个基本上是序列化数据库形式的模式:

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

是否有一种非常简单的方法可以将其转换为SQL数据库?显然,我可以手动构建模式,识别所有表,字段等,然后编写一个脚本来导入它。我只是想知道是否有任何工具可以自动化部分或全部流程?

4 个答案:

答案 0 :(得分:13)

对于Mysql,请参阅LOAD XML SyntaxDocs

对于您提供的XML,它应该不需要任何额外的XML转换,只需指定格式并使用匹配的列名称直接在数据库中定义表:

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

还有一个相关问题:

对于Postgresql我不知道。

答案 1 :(得分:1)

有一个project on CodeProject可以很容易地将XML文件转换为SQL Script。它使用XSLT。您可以修改它以生成DDL。

并且也看到了这个问题:Generating SQL using XML and XSLT

答案 2 :(得分:1)

如果有包含2个不同表的XML文件,则会:

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

工作

答案 3 :(得分:0)