Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170

    Conversione XML to file TEXT

    Salve a tutti,
    un cliente mi chiede di convertire un XML di questo tipo
    [XML]
    <product>
    <codice>005</codice>
    <filiale>paese</filiale>
    <agente>pippo</agente>
    <prezzo>10</prezzo>
    <proforma>4</proforma>
    </product>
    [/XML]
    in un file di testo dove un per ogni riga sia presente un articolo con i campi divisi dal pipe esempio

    codice|filiale|agente|prezzo|proforma|

    come potrei fare esiste un qualcosa che possa convertire xmnl nel seguente modo?

  2. #2
    è un XML valido? Se è così puoi usare le librerie XML di PHP per interrogare l'albero e per ogni prodotto stampare una riga formattata come vuoi tu.

    Dai un'occhiata a:
    http://it2.php.net/manual/it/refs.xml.php

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170
    grazie della risposta , riusciresti a postarmi un esempio di codice perche le avevo viste anche io ma non sono riuscito a trarne un ragna da un buco

  4. #4
    mmm e gli esempi su php.net che ci stanno a fare?

    Codice PHP:

    $result 
    ""//Qui salverò il testo finale

    //Da [url]http://it2.php.net/manual/it/domdocument.loadxml.php[/url]
    $doc = new DOMDocument();
    $doc->loadXML($tuaStringa);

    //Da [url]http://it2.php.net/manual/it/domdocument.getelementsbytagname.php[/url]
    $dataset $doc->getElementsByTagName"product" );
    foreach( 
    $dataset as $row )
    {
        
    $xmlcodices $row->getElementsByTagName"codice" );
        
    $xmlcodice $xmlcodices->item(0)->nodeValue;
     
        
    $xmlfiliales $row->getElementsByTagName"filiale" );
        
    $xmlfiliale $xmlfiliales->item(0)->nodeValue;
     
        
    $xmlagentes $row->getElementsByTagName"agente" );
        
    $xmlagente $xmlagentes->item(0)->nodeValue;
     
        
    $xmlprezzos $row->getElementsByTagName"prezzo" );
        
    $xmlprezzo $xmlprezzos->item(0)->nodeValue;
     
        
    $xmlproformas $row->getElementsByTagName"proforma" );
        
    $xmlproforma $xmlproformas->item(0)->nodeValue;
     
        
    $result .= $xmlcodice.'|'.$xmlfiliale.'|'.$xmlagente.'|'.$xmlprezzo.'|'.$xmlproforma."\n";


    echo 
    $result
    io comunque della stringa farei un bel trim e toglierei gli spazi, prima di darla in pasto al DOMDocument, perché sennò può causarti dei problemi nel leggere l'albero

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    170
    Scusa il ritardo nella risposta , ti ringrazio ho risolto alla grande

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