Я получаю XML-файл с simpleXML и хочу сохранить эти значения в моей базе данных с помощью цикла foreach.Вот мой код:
<?php
$xml = simplexml_load_string('XML-FILE');
foreach ($xml->METADATA->DATA as $item) {
foreach ($item->children() as $child) {
$sel_stmt = "INSERT INTO dwh_xml (".$child->getName().") VALUES ('".$child."') ";
directSQL($sel_stmt);
}
}
?>
Мой XML-файл выглядит следующим образом:
<xml version="1.0" encoding="utf-8">
<METADATA>
<DATA>
<FIELD_1>001</FIELD_1>
<FIELD_2>ENTRY_2</FIELD_2>
<FIELD_3>ENTRY_3</FIELD_3>
<FIELD_4>ENTRY_4</FIELD_4>
<FIELD_5>ENTRY_5</FIELD_5>
<FIELD_6>000003</FIELD_6>
<FIELD_7>ENTRY_7</FIELD_7>
<FIELD_8>ENTRY_8</FIELD_8>
<FIELD_9>ENTRY_9</FIELD_9>
<FIELD_10>ENTRY_10</FIELD_10>
<FIELD_11>ENTRY_11</FIELD_11>
<FIELD_12>ENTRY_12</FIELD_12>
<FIELD_13>ENTRY_13</FIELD_13>
</DATA>
<METADATA>
</xml>
Импорт в мою базу данных работает, но для каждого значения генерируется новая запись, а я нетзнать, как мой вышеприведенный код должен быть изменен, чтобы он стал одной записью в моей базе данных с одним идентификатором.Вот скриншот моей тестовой записи:
И здесь вы можете увидеть, как это должно выглядеть:
Я знаю, что я делаю что-то не так с моим циклом foreach, и я знаю, что это может быть легко для некоторых из вас, ребята, но сейчас я не могу исправить это самостоятельно.Любая помощь будет очень признательна.