Я пытаюсь импортировать 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>
Какие-либо предложения?
Быстро и грязно.
Откройте текстовый редактор, вставьте XML файл в качестве текстового файла.
Удалите все ведущие/трейлинг-теги.
Найдите и замените: '<element name =' ничем
Найдите и замените: 'uom =' на ',' (запятая)
Найдите и замените: 'value = "' на ',' (запятая)
Найти и заменить: "/>" ничем
Таким образом вы получите CSV (значения, разделенные запятыми)
от:
<element name="wmo_synop_id" uom="unitless" value="71203"/>
чтобы:
"wmo_synop_id","unitless",71203
Сохраните файл.
В MySQL создайте таблицу с тремя полями Varchar, Varchar, Int
Затем используйте синтаксис mysql: LOAD DATA INFILE
для загрузки файла в таблицу.