in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

creare file xml con script

Ultimo messaggio ricevuto il 02-12-2005 11.42 da theFool. 10 risposta(e).
Pagina 1 di 1 (11 elemento/i)
Ordina messaggi: Precedente Successivo
  • 13-12-2004 20.30

    • tapiro
    • Utente Top 50
    • Registrato il 26-02-2004
    • Messaggi 21

    creare file xml con script

    È possibile creare un file xml tramite uno script di tipo JScript e non asp o php?
    grazie, tapiro.
    • No log
  • 14-07-2005 14.19 In risposta a

    • theFool
    • Utente Top 10
    • Registrato il 13-07-2005
    • Piacenza
    • Messaggi 127

    Re: creare file xml con script

    Produrre xml non è poi così complicato (un paio d'anni fa mi sono trovato a farlo da DOS in Clipper 5.2, wow!!), tuttavia è necessario tenere a mente un paio di cosette:
    1° è sempre meglio avvalersi di un parser ampiamente testato (MSXML x es.)
    2° se non si dovesse disporre di un parser, allora la produzione di un file xml si riduce alla mera scrittura di un file di testo.
    Alla luce di tali fatti, è possibile produrre xml praticamente con qualsiasi strumento: dal linguaggio di programmazione più evoluto, al buon vecchio DOS con le sue rudi ma efficaci procedure batch (anche se qui si ransenta la speculazione filosofica propria di alcuni programmatori... e mi ci metto anch'io ovvio!)

    Ecco un esempio che mostra entrambi gli approcci:




    proc1();
    proc2();

    function proc1()
    {
    var xmlDoc,nd,att;

    xmlDoc = new ActiveXObject( "MSXML.DomDocument" );
    xmlDoc.async = false;
    xmlDoc.loadXML( "<?xml version='1.0'?><elenco/>" );

    // il codice che segue potrebbe essere sostituito con il recupero dati da un db

    nd = xmlDoc.createNode( 1,"amico","" );
    nd.text = "StefanoF";
    att = xmlDoc.createNode( 2,"id","" );
    att.text = "1";

    nd.attributes.setNamedItem( att );

    xmlDoc.documentElement.appendChild( nd );

    nd = xmlDoc.createNode( 1,"amica","" );
    nd.text = "ElenaZ";
    att = xmlDoc.createNode( 2,"id","" );
    att.text = "2";

    nd.attributes.setNamedItem( att );

    xmlDoc.documentElement.appendChild( nd );

    xmlDoc.save( "c:\amici1.xml" );

    delete xmlDoc;
    }

    function proc2()
    {
    var fso , txt;

    fso = new ActiveXObject( "Scripting.FileSystemObject" );
    txt = fso.createTextFile( "amici2.xml" );

    txt.write( "<?xml version='1.0'?>" );
    txt.write( "<elenco>" );
    txt.write( "<amico id='1'>StefanoF</amico>" );
    txt.write( "<amica id='2'>ElenaZ</amica>" );
    txt.write( "</elenco>" );
    txt.close();

    delete txt;
    delete fso;
    }







    Nota come nel primo caso venga usato il parser, rendendo quindi necessario sapere come esso permetta la gestione del DOM (Document Object Model) mantenuto in memoria; nel secondo caso invece, a fronte di una maggiore libertà nella stesura del codice (che per inciso ricorda molto da vicino il processo di generazione delle pagine html via asp), è per contro necessaria la precisa conoscenza della sintassi che regolamenta il linguaggio xml.


    Dubito che dopo 7 mesi tu stia ancora attendendo una risposta, ma mi sono iscritto solo l'altro ieri... ciao!!!
    • No log
  • 14-07-2005 14.47 In risposta a

    Re: creare file xml con script

    <b>theFool</b> grazie per aver risposto comunque al post, ed in modo completo ed esauriente!

    :-D
    • No log
  • 14-07-2005 14.50 In risposta a

    Re: creare file xml con script

    Ehm, mi permetto... ti piacerebbe moderare il forum XML? :-P
    • No log
  • 14-07-2005 14.54 In risposta a

    • tapiro
    • Utente Top 50
    • Registrato il 26-02-2004
    • Messaggi 21

    Re: creare file xml con script

    Ti ringrazio per le preziose informazioni, di fatto quella parte di progetto è stata ridotta di molto rispetto alle mie prime aspettative; ora potrò potenziare la serie di pagine collegate come era nel progetto originale.
    ciao, e, ancora, grazie!!
    Tapiro
    • No log
  • 14-07-2005 15.37 In risposta a

    • theFool
    • Utente Top 10
    • Registrato il 13-07-2005
    • Piacenza
    • Messaggi 127

    Re: creare file xml con script

    [x DevSpy]

    Questa proposta mi lusinga non poco, grazie.
    Vorrei, tuttavia, capire bene come si estrinsechi l'attività del moderatore, ovvero quali sono le incombenze e le mansioni da assolvere (oltre ovviamente alla frequentazione del forum), perchè per me sarebbe la prima volta!

    Resto in attesa di notize al riguardo.
    • No log
  • 14-07-2005 16.04 In risposta a

    Re: creare file xml con script

    Posso contattarti via e-mail?
    • No log
  • 14-07-2005 16.44 In risposta a

    • theFool
    • Utente Top 10
    • Registrato il 13-07-2005
    • Piacenza
    • Messaggi 127

    Re: creare file xml con script

    of course!
    • No log
  • 14-07-2005 16.49 In risposta a

    Re: creare file xml con script

    Scrivimi su contact @ devspy . com , ti ricontatterò io.

    Grazie! ;-)
    • No log
  • 01-12-2005 15.52 In risposta a

    Re: creare file xml con script

    volendolo creare invece con php, io ho scritto questo però mi da dei problemi

    <?
    $cognome = $HTTP_POST_VARS["cognome"];
    $nome = $HTTP_POST_VARS["nome"];
    $indirizzo = $HTTP_POST_VARS["indirizzo"];
    $citta = $HTTP_POST_VARS["citta"];
    $telefono = $HTTP_POST_VARS["telefono"];
    $email = $HTTP_POST_VARS["email"];
    $oggetto = "Iscrizione: $cognome $nome ";
    $data = date("d-m-y");
    $ora= date("G:i");
    $open_iscritto = "<iscritto>\n";
    $close_iscritto = "</iscritto>\n";
    $open_cognome = "   <cognome>";
    $open_nome = "   <nome>";
    $open_indirizzo = "   <indirizzo>";
    $open_citta = "   <citta>";
    $open_telefono = "   <telefono>";
    $open_email = "   <email>";
    $close_cognome = "</cognome>\n";
    $close_nome = "</nome>\n";
    $close_indirizzo = "</indirizzo>\n";
    $close_citta = "</citta>\n";
    $close_telefono = "</telefono>\n";
    $close_email = "</email>\n";
    $messaggio = "Nuova iscrizione $data $ora \n\n Cognome: $cognome \n Nome: $nome \n Indirzzo: $indirizzo \n Citta: $citta \n Telefono: $telefono \n Email: $email";
    // VALIDATION
    if(empty($nome) || empty($cognome) || empty($citta) || empty($telefono) || empty($email) || empty($indirizzo))
    {
        echo "Iscrizione fallita compila correttamente tutti i campi <br/><br/> <a href=\"index.php\">Torna alla pagina precedente</a>";
    }
    else {
        $iscritti = fopen("iscritti.xml", "a+");
        fwrite($iscritti, $open_iscritto);
        fwrite($iscritti, $open_cognome);
        fwrite($iscritti, $cognome);
        fwrite($iscritti, $close_cognome);
        fwrite($iscritti, $open_nome);
        fwrite($iscritti, $nome);
        fwrite($iscritti, $close_nome);
        fwrite($iscritti, $open_indirizzo);
        fwrite($iscritti, $indirizzo);
        fwrite($iscritti, $close_indirizzo);
        fwrite($iscritti, $open_citta);
        fwrite($iscritti, $citta);
        fwrite($iscritti, $close_citta);
        fwrite($iscritti, $open_telefono);
        fwrite($iscritti, $telefono);
        fwrite($iscritti, $close_telefono);
        fwrite($iscritti, $open_email);
        fwrite($iscritti, $email);
        fwrite($iscritti, $close_email);
        fwrite($iscritti, $close_iscritto);
        fclose($iscritti);
        mail('thebigdax@yahoo.it', $oggetto, $messaggio);
        echo "Iscrizione eseguita correttamente, grazie <br/><br/><a href=\"http://www.google.it\">google</a>";
    }
    ?>

    però quando provo ad aprire l'xml mi dà giustamente l'errore che serve un tago "generale"

    <membri>
    <iscritti>
    ecc....
    </iscritti>
    <iscritti>
    ecc....
    </iscritti>
    </membri> però membri deve essere chiuso in ogni caso e deve essere per ultimo, questo script però non lo fa. come posso risolvere??

    • Log
  • 02-12-2005 11.42 In risposta a

    • theFool
    • Utente Top 10
    • Registrato il 13-07-2005
    • Piacenza
    • Messaggi 127

    Wink [;)] Re: creare file xml con script

    Ciao,
    ho dato una scorsa al tuo codice, e così di primo acchitto mi sembra che manchi il prologo xml: ricorda che un documento xml deve necessariamente cominciare con la seguente sintassi:

    <?xml version="1.0"?>

    Mi sorge invece un dubbio sull'errore da te segnalato in merito alla mancanza di un tag generale (leggi: elemento documento): in base al codice da te proposto esso risulta essere presente, ovvero iscritto.

    Invia l'output xml, e sarà più facile capirci!

    • Log
Pagina 1 di 1 (11 elemento/i)
Prelevato da http://www.devspy.com/forums/p/2624/3727.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"