3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string = '<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>'; $xml = simplexml_load_string($string); foreach ($xml->METADATA->DATA as $item) { foreach ($item->children() as $child) { $cols[] = $child->getName(); $params[] = $child->nodeValue; } if(!empty($params)){ $columns = implode(',', $cols); $placeholders = rtrim(str_repeat('?, ', count($params)), ', '); $sql = 'INSERT INTO dwh_xml ( ' . $columns . ') VALUES(' . $placeholders . ')'; echo $sql; unset($params, $cols); } }
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
INSERT INTO dwh_xml ( FIELD_1,FIELD_2,FIELD_3,FIELD_4,FIELD_5,FIELD_6,FIELD_7,FIELD_8,FIELD_9,FIELD_10,FIELD_11,FIELD_12,FIELD_13) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

preferences:
170.3 ms | 408 KiB | 5 Q