Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    64

    problema con XML generato da PHP

    Ciao a tutti,
    non vorrei avere sbagliato a postare in questa sezione, in caso chiedo scusa in anticipo.
    Ho una pagina php che genera un file XML recuperando i dati da un DB.
    Questo XML viene letto successivamente da FLASH.
    L'XML genrerato sembra corretto, ma non funziona....qui succede la cosa strana:
    se il file XML lo salvo successivamente con Dreamweaver il flash funziona correttamente
    tutto ciò dicendo che con Dreamweaver non faccio effettivamente nessuna modifica
    Qualcuno mi sa spiegare il perchè....?

  2. #2
    Ciao,
    nel file php che genera l'xml hai messo:
    codice:
    header('Content-Type: text/xml');
    prima di iniziare l'output dell'xml?

    Alessandro
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    64
    il php genera un file di testo con estensione .xml non è il genrato tramite print lo devo mettere lo stesso? ma in questo caso come metto l'header nel file,
    In effetti può essere perchè in questo caso sarebbe il dreamweaver stesso ad aggiungere l'header quando lo risalvo ?
    Cmq la mia domanda è come faccio a mettere l'header se L'XML va in un file?

  4. #4
    Ciao,
    non avevo capito che l'xml lo salvavi su file, sorry.
    Potresti postare il codice che genera l'xml, e l'xml generato?
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    64
    Ciao, intanto ti ringrazio per la risposta:
    ti do il codice che genera l XML
    <?php header ("content-type: text/xml");



    require_once ("class.XMLGenerator.php");
    include ('connessione.php');
    $conn=conn('checkin');
    $f=fopen("dati.xml","w+");

    $xml = new XMLGenerator();
    $xml->newItemWithAttributes("database");
    $xml->addAttribute("name","idgt.mdb",true,true);
    $xml->openTag("data");




    $tabelle=array("aree","diplomi","eventi","facolta" ,"figure","professioni","tipi");



    foreach($tabelle as $tabella){
    $nome_tabella=$tabella;

    $query="SHOW COLUMNS FROM `".$nome_tabella."`";

    $query_val="SELECT * FROM `".$nome_tabella."`";
    $res_val=mysqli_query($conn,$query_val);

    while($rec=mysqli_fetch_assoc($res_val)){
    $xml->openTag(ucfirst($nome_tabella));
    $res=mysqli_query($conn,$query);
    while($campo=mysqli_fetch_row($res)){
    $nome_campo=$campo[0];
    $str=$rec[$nome_campo];

    if(($tabella=="diplomi")&&($nome_campo=="Descrizio ne")) {


    $xml->newItem($nome_campo,trim(strtoupper($str)));
    }
    else
    $xml->newItem($nome_campo,strtoupper($str));


    }
    $xml->closeTag(ucfirst($nome_tabella));

    }


    }



    $xml->closeTag("data");

    $xml->closeTag("database");

    $tt=trim($xml->get_xml());

    fwrite($f,$tt);
    fclose($f);


    ?>
    qui c'e' la classe:

    class XMLGenerator
    {
    var $opened = 0;
    var $xml="";

    function XMLGenerator($charset = "ISO-8859-1")
    {

    }


    function newItem($tag, $value)
    {
    for($i = 0; $i < $this->opened; $i++)
    {
    //$this->xml.= "";
    }

    $this->xml.="<".$tag.">";
    $this->xml.=$value;
    $this->xml.= "</".$tag.">";

    }


    function openTag($tag)
    {
    for($i = 0; $i <= $this->opened; $i++)
    {
    //$this->xml.= "";
    }
    $this->xml.= "<".$tag.">";

    $this->opened++;
    }


    function closeTag($tag)
    {
    $this->opened--;
    for($i = 0; $i <= $this->opened; $i++)
    {
    $this->xml.= "";
    }
    $this->xml.= "</".$tag.">";

    }


    function newItemWithAttributes($tag)
    {
    for($i = 0; $i < $this->opened; $i++)
    {
    //$this->xml.= "";
    }

    $this->xml.= "<".$tag." ";
    $this->opened++;
    }

    function put_infile($f){

    fwrite($f,$this->xml);
    fclose($f);

    }
    function get_xml(){

    return $this->xml;

    }


    function addAttribute($attr, $value, $final, $hasChildren)
    {
    if ($final == false)
    {
    $this->xml.= $attr . "=\"" . $value . "\" ";
    }
    else if ($final == true)
    {
    if ($hasChildren == true)
    {
    $this->xml.= $attr . "=\"" . $value . "\">";
    }
    else if ($hasChildren == false)
    {
    $this->xml.= $attr . "=\"" . $value . "\" />";
    $this->opened--;
    }
    $this->TagIsOpened = false;
    $this->xml.= "";
    }
    }
    }


    ora l'xml e un po lungo anche se l'ho fatto generare solo per un record per tabella per sfoltirlo
    <database name="idgt.mdb"><data><Aree><id>1</id><Area>SANITARIA</Area></Aree><Aree><id>2</id><Area>SCIENTIFICA</Area></Aree><Aree><id>3</id><Area>SOCIALE</Area></Aree><Aree><id>4</id><Area>UMANISTICA</Area></Aree><Diplomi><ID>1</ID><Descrizione>ATTESTATO DISEGNATORE MECCANICO</Descrizione></Diplomi><Eventi><id>1</id><idfigura>1</idfigura><idtipo>1</idtipo><descrizione>HO CONSEGUITO LA MATURITA</descrizione><da>13.00</da><a>18.00</a></Eventi><Facolta><id>1</id><nome>AGRARIA</nome></Facolta><Facolta><id>2</id><nome>ARCHITETTURA</nome></Facolta><Facolta><id>3</id><nome>ECONOMIA</nome></Facolta><Facolta><id>4</id><nome>FARMACIA</nome></Facolta><Facolta><id>5</id><nome>GIURISPRUDENZA</nome></Facolta><Facolta><id>6</id><nome>INGEGNERIA</nome></Facolta><Facolta><id>7</id><nome>LETTERE E FILOSOFIA</nome></Facolta><Facolta><id>8</id><nome>LINGUE E LETTERATURE STRANIERE</nome></Facolta><Facolta><id>9</id><nome>MEDICINA E CHIRURGIA</nome></Facolta><Facolta><id>10</id><nome>SCIENZE DELLA FORMAZIONE</nome></Facolta><Facolta><id>11</id><nome>SCIENZE MATEMATICHE FISICHE E NATURALI</nome></Facolta><Facolta><id>12</id><nome>SCIENZE POLITICHE</nome></Facolta><Figure><id>1</id><professione>INFORMATORE SCIENTIFICO DEL FARMACO</professione><professione2>INFORMATORE SCIENTIFICO</professione2><laurea>SCIENZE BIOLOGICHE</laurea><facolta>SCIENZE MATEMATICHE FISICHE E NATURALI</facolta><nome>GIADA</nome><eta>28</eta><interessi>MUSICA ROCK; PUNK; POP; CINEMA</interessi><sport>CANOA</sport><materia_preferita>STORIA; FILOSOFIA</materia_preferita><fuori_sede>FALSO</fuori_sede><sesso>F</sesso><reddito_familiare>NULL</reddito_familiare><scuola>LICEO SCIENTIFICO</scuola><professione_desc>HO RISPOSTO A VARI ANNUNCI DI OFFERTE LAVORATIVE E DOPO 3 MESI DI FORMAZIONE IN UN'AZIENDA HO INIZIATO A LAVORARE SUL TERRITORIO. OGGI LAVORO COME INFORMATORE SCIENTIFICO DEL FARMACO PER UNA AZIENDA FARMACEUTICA FRANCESE. PARLO DEL FARMACO ESALTANDONE LE CARATTERISTICHE, CONOSCO GENTE NUOVA E STO SEMPRE IN GIRO</professione_desc></Figure><Professioni><id>1</id><nome>ENOLOGO</nome><descrizione>FORMANO OGGETTO DELLA PROFESSIONE DI ENOLOGO; LA DIREZIONE E L'AMMINISTRAZIONE, NONCHÉ LA CONSULENZA IN AZIENDA VITIVINICOLE PER LA TRASFORMAZIONE DELL'UVA, L'AFFINAMENTO, LA CONSERVAZIONE, L'IMBOTTIGLIAMENTO E LA COMMERCIALIZZAZIONE DEI VINI E DEI PRODOTTI DERIVATI; LA DIREZIONE E L'AMMINISTRAZIONE, NONCHÉ LA CONSULENZA IN AZIENDA VITIVINICOLE, CON PARTICOLARE RIFERIMENTO ALLA SCELTA VARIETÀLE, ALL'IMPIANTO ED AGLI ASPETTI FITOSANITARI DEI VIGNETI; LA DIREZIONE L'ESPLETÀMENTO DI FUNZIONI DI CARATTERE VITIVINICOLO IN ENTI, ASSOCIAZIONI E CONSORZI; L'EFFETTUAZIONE DELLE ANALISI MICROBIOLOGICHE, ENOCHIMICHE ED ORGANOLETTICHE DEI VINI E LA VALUTAZIONE DEI CONSEGUENTI RISULTATI; LA COLLABORAZIONE NELLA PROGETTAZIONE DELLE AZIENDE E NELLA SCELTA DELLA TECNOLOGIA RELATIVA AGLI IMPIANTI ED AGLI STABILIMENTI VITIVINICOLI; L'ORGANIZZAZIONE AZIENDALE DELLA DISTRIBUZIONE E DELLA COMMERCIALIZZAZIONE DEI PRODOTTI VITIVINICOLI, COMPRESI GLI ASPETTI DI COMUNICAZIONE, DI MARKETING E DI IMMAGINE.</descrizione><id_facolta>1</id_facolta><tirocinio>0</tirocinio><concorso_pubblico>0</concorso_pubblico><abilitazione>0</abilitazione><iscrizione_albo>0</iscrizione_albo><id_corso>1</id_corso><corso_laurea></corso_laurea><laurea_specialistica></laurea_specialistica><id_specializzazione></id_specializzazione><area>SCIENTIFICA</area></Professioni><Tipi><id>1</id><tipo>FORMAZIONE</tipo><descrizione>FORMAZIONE PRE UNIVERSITARIA</descrizione><colore>00FF00</colore></Tipi><Tipi><id>2</id><tipo>FORMAZIONE</tipo><descrizione>FORMAZIONE UNIVERSITARIA</descrizione><colore>FF0000</colore></Tipi><Tipi><id>3</id><tipo>FORMAZIONE</tipo><descrizione>FORMAZIONE POST UNIVERSITARIA</descrizione><colore>00008C</colore></Tipi><Tipi><id>4</id><tipo>ESPERIENZA</tipo><descrizione>ABILITAZIONI</descrizione><colore>0099E9</colore></Tipi><Tipi><id>5</id><tipo>ESPERIENZA</tipo><descrizione>ESPERIENZA LAVORATIVA</descrizione><colore>7A081B</colore></Tipi><Tipi><id>6</id><tipo>ESPERIENZA</tipo><descrizione>STAGE E/O TIROCINI</descrizione><colore>55006A</colore></Tipi><Tipi><id>7</id><tipo>ESPERIENZA</tipo><descrizione>ALTRE ESPERIENZE</descrizione><colore>005F1E</colore></Tipi><Tipi><id>8</id><tipo>ESPERIENZA</tipo><descrizione>ABILITA TRASVERSALI</descrizione><colore>F3D100</colore></Tipi><Tipi><id>9</id><tipo>ESPERIENZA</tipo><descrizione>CONCORSI</descrizione><colore>D30069</colore></Tipi></data></database>


    l'ho fatto generare tutto in una riga per evitare caratteri di codifica o cose del genere ma continua a non andare. Appena lo risalvo usando Dreamweavewr funziona........ :master: hai come aiutarmi?

  6. #6
    Ciao,
    l'header non serve visto che salvi l'xml su file.

    Prova ad aggiungere
    Codice PHP:
    <?xml version="1.0" encoding="iso-8859-1"?>
    all'inizio dell'xml e inserisci i dati testuali all'interno di
    codice:
    <![CDATA[   qui i tuoi dati     ]]>
    Full Stack Developer presso Advice Lab
    Bonus Bitcoin
    Moon Bitcoin

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.