Visualizzazione dei risultati da 1 a 1 su 1

Discussione: XML e MySQL

  1. #1

    XML e MySQL

    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
    Ultima modifica di alankanzRM; 26-04-2016 a 15:24

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.