Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025

    Parsizzare un xml esportato da mysql

    Salve a tutti.
    Sto provando ad esportare una tabella di mysql in un file xml, dopo alcune modifiche manuali ottengo questo risultato:
    codice:
    <database>
      <table name="persona">
      <column name="id">1</column> 
      <column name="nome">pippo</column> 
      <column name="cognome">disney</column> 
      <column name="telefono">0242345</column> 
      <column name="email" />mass@lib.iy</column> 
      <column name="eta" />1980</column> 
      </table>
    </database>
    Come posso dire di stampare a video quello che ho nel mio file?
    Ho provato con questa funzione:
    codice:
    foreach($xml_persona->table as $table)
    echo $xml_persona->asXML();
    Ma ristampa tutto il contenuto del file xml, per tutte le occorrenze del nodo table, nel mio caso ne ho 26 e ristampa per 26 volte.

    C'è qualche funzione che mi vada ad estrarre il contenuto del numero di colonna che mi serve?
    Oppure come posso utilizzare al meglio un'esportazione da mysql per xml?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    Secondo me sbagli la struttura dell'XML.
    Se vuoi esportare il "contenuto" di una tabella, cioè i dati (almeno questo è quello che ho capito che vuoi fare) io strutturerei l'XML così

    Codice PHP:
    <dati>
      <
    persone>
        <
    persona>
          <
    id>1</id
          <
    nome>pippo</nome
          <
    cognome>disney</cognome
          <
    telefono>0242345</telefono
          <
    email>mass@lib.iy</email
          <
    eta>1980</eta
        </
    persona>
        <
    persona>
          .. 
    dati della seconda persona
        
    </persona>
      </
    persone>
    </
    dati
    A questo punto usando simpleXML è semplicissimo

    Codice PHP:
    $xml simplexml_load_file("tuofile.xml");
    foreach (
    $xml->persone as $persona)
    {
       print 
    "ID: ".persona->id."
    "
    ;
       print 
    "Nome: ".$persona->nome."
    "
    ;
       print 
    "Cognome: ".$persona->cognome."
    "
    ;
       print 
    "Telefono: ".$persona->telefono."
    "
    ;
       print 
    "Email: ".$persona->email."
    "
    ;
       print 
    "Età: ".$persona->eta."
    "
    ;

    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025
    Si ho già provato come mi hai illustrato nel tuo codice.
    Solo volevo capire se si poteva risalire dalla proprietà dell'oggetto <column> quindi attraverso il "name" per il valore che mi interressa stampare o modificare. Perchè MySQL quando esporta una tabella in xml la esporta in quella maniera, o almeno a me l'esporta così.

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.