Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    export xml - formattare il file.xml

    da un un db ricavo tramite php i record...
    questi dati li devo passare ad un file.xml che mi viene creato...

    quando apro il file.xml tramite notepad
    leggo l'export così :

    <?xml version="1.0" encoding="iso-8859-1"?><record1>treviso</record1><record2>venezia</record2><record3>vicenza</record3><record4>verona</record4><record5>belluno</record5><record6>rovigo</record6><record7>padova</record7>

    leggo tutto su una riga unica...

    vorrei formattare questo in questo modo

    <?xml version="1.0" encoding="iso-8859-1"?>
    <record1>treviso</record1>
    <record2>venezia</record2>
    etc etc


    mettere quindi tutto a capo...
    io da emerito ignorante ... avevo provato a usare il tag

    ma nn funge ovviamente

    vi posto lo script che uso per creare questo export :

    $str="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
    $n=1;
    while ($row=mysql_fetch_assoc($prov)){
    $str.="<record{$n}>".$row['provincia']."</record{$n}>";
    $n+=1;


    ciao e grazie...

  2. #2
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696

    Re: export xml - formattare il file.xml

    Originariamente inviato da ferrate

    mettere quindi tutto a capo...
    io da emerito ignorante ... avevo provato a usare il tag

    ma nn funge ovviamente

    :maLOL:



    io non uso php quindi non posso aiutarti

    ma la logica è sempre la stessa, dal database all'xml come lo crei ?
    usi le librerie xml del php ?
    oppure crei un file di testo e cicli i dati salvandolo con estensione xml ?

    se usi le librerie xml ci sarà un comando per indentare gli elementi, chiedi in php.
    se usi file di testo non dico che è impossibile ma un casino, lascialo cosi, ad ogni modo non ti crea nessun problema nel riutilizzarlo per altre appliccazioni.

  3. #3
    $str="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
    $n=1;
    while ($row=mysql_fetch_assoc($prov)){
    $str.="<record{$n}>".$row['provincia']."</record{$n}>";
    $n+=1;

    questo script crea l'output che poi tramite quest'altro
    sparo dentro il file.xml

    $handle=fopen("file.xml", "w+");
    if (!fwrite($handle,$str))
    die("si è verificato un errore durante la scrittura");
    fclose($handle);


    per esempio :
    $str.="<record{$n}>".$row['provincia']."</record{$n}>";

    <record{$n}> nn mi risulta essere di lib php...

  4. #4
    Utente di HTML.it L'avatar di Polley
    Registrato dal
    Jan 2005
    Messaggi
    696
    ad occhio stai creando un file di testo che salvi come xml, in teoria sarebbe scorretto ma può andare bene lo stesso.


    ma il problema ?
    una ragione di estetica ?

  5. #5
    no no figurati...
    il fatto che il mio collega... per poter pigliarsi i dati,
    mi dice che ha bisogno di avere i dati formattati standard xml..
    perchè poi tramite script js si prende i dati e me li ridà indietro
    sotto forma di variabile ( è il funzionamento dell' ajax, non so se conosci questa tecnologia )

    ma esiste poi sto standard xml??
    ho visto gli esempi xml che girano su questo ajax...
    e appunto mettono a capo tutti i dati...
    forse il mio collega fancazzista ha lo script già pronto in js, e fa fare la fatica a me??


  6. #6
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    5
    andare a capo o meno non dovrebbe influire nello standard XML. E' solo una questione visuale...

    ciao
    Alex
    comunque metti \n nelle stringhe con php e vai a capo.

    $str="Adesso vado a capo \n Ora sono a capo";

  7. #7
    Ciao ragazzi, premetto che sono newbie in fatto di xml. A me capita la stessa cosa di ferrate ma se apro il file con il browser (internet explorer) ecco formattato tutto nel modo giusto. Ad ogni modo volevo chiedervi un consiglio, mi trovo a modificare un prg in vb.net creato da un mio predecessore, in sostanza questo prg esegue una query su un db mySQL e spara i dati in un xml che viene creato in base ad uno schema (anch'esso creato al volo ) secondo le specifiche di W3C riguardo l' xml. Il problema è che i record risultanti dalla query vengono riportati dentro l'xml ma qualcuno viene scartato non so bene per quale motivo. Avete idea di cosa posso fare per risolvere il problema? ho già provato a guardare il tipo di ogni campo (se stringa, intero etc) ma non ne vengo a capo.

    help me!!

    Claudio

    ============================

    ...all is not enough!

  8. #8
    ciao claudio... il mio problema l'ho risolto formattando dalla sorgente ( per cui da php ) il mio file.xml....

    header('Content-Type: text/xml');
    $prov= mysql_query("select * from regioni where grp_id = '$idregione'") or die (mysql_error());

    $str="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\r\n";

    $str.="<root>";

    while ($row=mysql_fetch_assoc($prov))
    {

    $str .="<record>".$row['provincia']."</record>";

    }

    $str .="\r\n";

    $str .="</root>";

    echo $str;



    /**
    * poi alla fine del ciclo apri il tuo file e ci scrivi dentro $str.
    * il file ovviamente deve stare in una cartella che abbia i
    * permessi di scrittura, alla fine chiuderai il file
    */


    $handle=fopen("file.xml", "w+");
    if (!fwrite($handle,$str))
    die("si è verificato un errore durante la scrittura");
    fclose($handle);


    togliendo le parti query php... che credo a te nn interessino, il resto nn cambia...
    fai una cosa....
    stampa l'output del xml... e controlla che corrisponda esattamente al codice html della pagina che fai girare nel browser

    ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.