Salve a tutti,
Vi espongo un problema che mi attanaglia da un po'
Devo poter importare in un database un xml, vi riporto un esempio
codice:
<SSPC> <CODICE_SSPC>SSPC_XXXXXX</CODICE_SSPC>
<TIPOLOGIA_RICONOSCIUTA>1</TIPOLOGIA_RICONOSCIUTA>
<DATA_DECORRENZA>01/01/2014 00.00.00</DATA_DECORRENZA>
<DATA_ESERCIZIO>27/04/2011 00.00.00</DATA_ESERCIZIO>
<NUMERO_VERSIONE>1</NUMERO_VERSIONE>
<DATA_INIZIO_VERSIONE>27/04/2011 00.00.00</DATA_INIZIO_VERSIONE>
<LISTA_IMPIANTI>
<CENSIMP>IM_XXXXXXXX</CENSIMP>
</LISTA_IMPIANTI>
<LISTA_POD>
<POD>
<CODICE_POD>ITXXXEXXXXXXXX</CODICE_POD>
<DISTRIBUTORE>IDTSO</DISTRIBUTORE>
<TIPO_POD>P</TIPO_POD>
</POD>
<POD>
<CODICE_POD>ITXXXEXXXXXXXX</CODICE_POD>
<DISTRIBUTORE>OEEDNLS</DISTRIBUTORE>
<TIPO_POD>S</TIPO_POD>
</POD>
</LISTA_POD>
</SSPC>
Come si pu� vedere <POD> </POD> � ripetuto, lo potrei trovare ripetuto da 1 a n volte.
Qualcuno ha idea di come potrei salvarmelo anche se in un array?
Io ho scritto questo:
Codice PHP:
<html>
<head>
<title>Upload Sistemi su DB</title>
</head>
<body>
<?php
if(isset($_POST)){
function exp_data($data)
{
$a = explode(" ", $data);
return $a[0];
}
// 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'] );
// Controllo tutti i tag "CODICE_SSPC"
foreach($xml->SSPC as $sspc) {
$cod = $sspc->CODICE_SSPC;
$tipo = $sspc->TIPOLOGIA_RICONOSCIUTA;
$data1 = exp_data($sspc->DATA_DECORRENZA);
$data2 = exp_data($sspc->DATA_ESERCIZIO);
$ver = $sspc->NUMERO_VERSIONE;
$data3 = exp_data($sspc->DATA_INIZIO_VERSIONE);
foreach($sspc->LISTA_IMPIANTI as $imp)
{
$cen = $imp->CENSIMP;
}
foreach($sspc->LISTA_POD->POD as $pod)
{
if(count($sspc->LISTA_POD)>1)
{ $allert = '+';}
else
{ $allert = "";}
$punto[] = $pod->CODICE_POD . $allert;
$dist[] = $pod->DISTRIBUTORE;
$tipo_pod[] = $pod->TIPO_POD;
}
include 'config.php'; // Creo una query di inserimento e la eseguo
$sql = "
INSERT INTO seu SET
sspc = '$cod',
tipo_ric = '$tipo',
decorrenza = '$data1',
esercizio = '$data2',
n_versione = '$ver',
inizio_versione = '$data3',
censimp = '$cen',
pod = '$punto',
distributore = '$dist',
tipo_pod = '$tipo_pod'
";
$rssql = mysqli_query( $dbc,$sql );
// Controllo che l'importazione sia avvenuta con successo
echo ( $rssql ) ? "Importazione avvenuta con successo <br />" : "Errore nella query o connessione al DB mancante";
}}else
echo "Nessun file inserito";
}
?>
<form enctype="multipart/form-data" method="post" action="?">
File XML: <input type="file" name="filexml" value="" />
<input type="submit" name="" value="Upload" />
</form>
</body>
</html>
Grazie in anticipo