Ciao,
io ho testato un sistema che ora ti riporto.
Il mio xml di partenza è fatto come segue
[HTML]
<dataroot xmlns:od="urn:schemas-microsoft-com:officedata" generated="2012-07-17T12:34:02">
<utenti>
<NOME>AAA</NOME>
<COGNOME>aaa</COGNOME>
<INDIRIZZO>Via di aaa, 11</INDIRIZZO>
<MAIL>[email protected]</MAIL>
<TELEFONO>0123456</TELEFONO>
</utenti>
<utenti>
<NOME>BBB</NOME>
<COGNOME>bbb</COGNOME>
<INDIRIZZO>Via bbb, 22</INDIRIZZO>
<MAIL>[email protected]</MAIL>
<TELEFONO>6543210</TELEFONO>
</utenti>
<utenti>
<NOME>CCC</NOME>
<COGNOME>ccc</COGNOME>
<INDIRIZZO>Via ccc, 33</INDIRIZZO>
<MAIL>[email protected]</MAIL>
<TELEFONO>112233</TELEFONO>
</utenti>
</dataroot>
[/HTML]
Form iniziale:
[PHP]<html>
<head>
<title>Upload ed importazione XML</title>
</head>
<body>
<form enctype="multipart/form-data" method="post" action="importa_xml.php">
File XML: <input type="file" name="filexml" value="" />
<input type="submit" name="" value="Upload" />
</form>
</body>
</html>
[/PHP]
File importa_xml.php:
[PHP]
<?php
// Apro la connessione al DB
require_once 'config.inc.php';
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD) or
die ('Unable to connect. Check your connection parameters.');
mysql_select_db(MYSQL_DB, $db) or die(mysql_error($db));
// Recupero il file
$file = $_FILES['filexml'];
// Controllo che il file sia stato inserito
if ( $file['tmp_name'] != '' ) {
// Carica il file in una variabile $xml
$xml = simplexml_load_file( $file['tmp_name'] );
}
else
echo "Nessun file inserito";
[/PHP]