Eu quero carregar um arquivo e quando o upload do arquivo, os valores do arquivo devem ser colocados na minha matriz

Abaixo você pode ver minha página de formulários, nesta página você faz o upload de um arquivo xml.

  
File name:

Abaixo, você pode ver o meu código PHP, se você dar uma olhada, você pode ver que agora tudo é manual. Eu tenho que preencher a matriz sozinho. Você também pode ver que eu insiro a matriz no meu database. Eu quero carregar um arquivo xml e que os valores do arquivo xml sejam colocados automaticamente na minha matriz.

    Bom Array    1, "Manufactorer" =>"Panasonic", "Partno" =>"EEEFC1H1R0R", "Description" =>"Capacitor 0603","Footprint" =>"CAP0603", "Refdes" =>"B1"), array("Aantal" =>2, "Manufactorer" =>"Vishay", "Partno" =>"MAL215371228E3", "Description" =>"Capacitor 1210","Footprint" =>"CAP1210", "Refdes" =>"C6,C7"), array("Aantal" =>3, "Manufactorer" =>"Ferroxcube", "Partno" =>"MAL215371109E3", "Description" =>"Buzzer 80dB 3,4 KHz","Footprint" =>"KPEG238", "Refdes" =>"C8,C25"), array("Aantal" =>4, "Manufactorer" =>"Philips", "Partno" =>"EEEFC1E101P", "Description" =>"Tantaal 100uF, 6,3V Case_B","Footprint" =>"Case_B", "Refdes" =>"C1") ); echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
Aantal Manufactorer Partno Description Footprint Refdes
" . $bom[0]['Aantal'] . " " . $bom[0]['Manufactorer'] . " " . $bom[0]['Partno'] . " " . $bom[0]['Description'] . " " . $bom[0]['Footprint'] . " " . $bom[0]['Refdes'] . "
" . $bom[1]['Aantal'] . " " . $bom[1]['Manufactorer'] . " " . $bom[1]['Partno'] . " " . $bom[1]['Description'] . " " . $bom[1]['Footprint'] . " " . $bom[1]['Refdes'] . "
" . $bom[2]['Aantal'] . " " . $bom[2]['Manufactorer'] . " " . $bom[2]['Partno'] . " " . $bom[2]['Description'] . " " . $bom[2]['Footprint'] . " " . $bom[2]['Refdes'] . "
" . $bom[3]['Aantal'] . " " . $bom[3]['Manufactorer'] . " " . $bom[3]['Partno'] . " " . $bom[3]['Description'] . " " . $bom[3]['Footprint'] . " " . $bom[3]['Refdes'] . "
"; // Connectie database and Insert into database $con = mysqli_connect("localhost", "csa", "csa", "csa"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL:" . mysqli_connect_error(); } if(is_array($bom)) { $sql= "INSERT INTO bom (Aantal, Manufactorer, Partno, Description, Footprint, Refdes) values"; $valuesArr = array(); foreach ($bom as $row) { $aantal = (int) $row['Aantal']; $manufactorer = mysqli_real_escape_string($con, $row['Manufactorer']); $partno = mysqli_real_escape_string($con, $row['Partno']); $description = mysqli_real_escape_string($con, $row['Description']); $footprint = mysqli_real_escape_string($con, $row['Footprint']); $refdes = mysqli_real_escape_string($con, $row['Refdes']); $valuesArr[] = "('$aantal', '$manufactorer', '$partno', '$description', '$footprint', '$refdes')"; } $sql .= implode(',', $valuesArr); mysqli_query($con, $sql) or die('Error:' . mysqli_errno($con)); } mysqli_close($con); ?>

Use a function xml_parse_into_struct() para isso.

 $xmlfile = 'test.xml'; $xmlparser = xml_parser_create(); $fp = fopen($xmlfile, 'r'); $xmldata = fread($fp, 4096); xml_parse_into_struct($xmlparser,$xmldata,$values); xml_parser_free($xmlparser); print_r($values);