将XML文件导入MYSQL表并将元素标签解析为列标题和值

时间:2018-07-19 03:46:22

标签: mysql xml

我正在尝试将xml文件导入sql表,需要解析元素名称为列,值为行

示例:

<identification-elements>
            <element name="wmo_synop_id" uom="unitless" value="71203"/>
            <element name="stn_nam" uom="unitless" value="Kelowna"/>
            <element code-src="std_code_src" code-type="station_type" name="stn_typ" uom="code" value="12"/>
            <element name="date_tm" uom="datetime" value="2018-07-11T19:00:00.000Z"/>
            <element name="lat" uom="°" value="49.95722"/>
            <element name="long" uom="°" value="-119.37778"/>
            <element name="stn_elev" uom="m" value="429.4"/>
            <element name="icao_stn_id" uom="unitless" value="CYLW"/>
            <element code-src="std_code_src" code-type="report_type" name="rpt_typ" uom="code" value="0"/>
            <element name="data_pvdr" uom="unitless" value="NAV CANADA"/>
            <element name="data_attrib_not" uom="unitless" value="Observational data provided by NAV CANADA. All rights reserved."/>
            <element name="clim_id" uom="unitless" value="1123939"/>
            <element name="msc_id" uom="unitless" value="1123939"/>
            </identification-elements>

有什么建议吗?

1 个答案:

答案 0 :(得分:-1)

又快又脏。

打开文本编辑器,将XML粘贴到-另存为文本文件。

删除所有前导/尾随标签。

查找并替换为“

查找并用','(逗号)替换'uom ='

查找并用','(逗号)替换'value =“'

查找并替换为““ />”

保存

这样,您将获得CSV(逗号分隔的值)

来自:

<element name="wmo_synop_id" uom="unitless" value="71203"/>

收件人:

"wmo_synop_id","unitless",71203

保存文件。

在MySQL中,创建具有3个字段的表 Varchar,Varchar,Int

然后使用mysql:LOAD DATA INFILE语法

将文件加载到表中。