【问题标题】:Automated way to convert XML files to SQL database? [closed]将 XML 文件转换为 SQL 数据库的自动化方法? [关闭]
【发布时间】:2012-11-29 19:00:05
【问题描述】:

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

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

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

【问题讨论】:

  • 是哪个 SQL?一些,如 Oracle,为将 XML 导入表提供本机支持。
  • 哦。 Postgres 或 MySQL - 不要大惊小怪。 (但没有商业广告。)

标签: mysql xml postgresql schema


【解决方案1】:

Mysql请见LOAD XML SyntaxDocs

它应该无需对您提供的 XML 进行任何额外的 XML 转换即可工作,只需指定格式并在数据库中直接使用匹配的列名定义表:

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

还有一个相关的问题:

对于 Postgresql 我不知道。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 太好了,这是一个非常有用的起点。谷歌搜索 DDL 部分出现:xml2ddl.berlios.de
    • @steve 该链接现在已失效,您能否将我指向当前项目,或者您可能找到更好解决方案的任何地方。谢谢!
    • @JeffPuckettII 我是史蒂夫,但I've found a fork of it on git hub
    【解决方案3】:

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

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

    工作

    【讨论】:

    • 所有这些方法都需要您先手动构建表格。
    【解决方案4】:

    【讨论】:

    • 看起来该工具的方向相反。本教程链接到其他一些选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    相关资源
    最近更新 更多