IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM] Générer fichier XML depuis MySQL


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Par défaut [DOM] Générer fichier XML depuis MySQL
    Salut,

    J'ai une table et je voudrai en faire un fichier xml

    voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    $table_id = 'color';
     
    $query = "SELECT * FROM $table_id";
     
    $dbresult = mysql_query($query, $link);
     
    // create a new XML document
     
    $doc = new DomDocument('1.0' , 'ISO-8859-1');
     
    // create root node
     
    $root = $doc->createElement('root');
     
    $root = $doc->appendChild($root);
     
     
    while($row = mysql_fetch_assoc($dbresult)) {   //--> Une ligne à la fois
     
     
     
      $occ = $doc->createElement($table_id);       //--> Un noed a chaque ligne
     
      $occ = $root->appendChild($occ);
     
     
     
      foreach ($row as $fieldname => $fieldvalue) {   //--> Ajout d'un noeud fils pour chaque champ
     
     
     
        $child = $doc->createElement($fieldname);    //--> Nom du child et sa valeur a ajouter
     
        $child = $occ->appendChild($child);
     
        $value = $doc->createTextNode($fieldvalue);
     
        $value = $child->appendChild($value);
     
      }
     
     
     
    }
    Malheureusement ça ne marche pas... help !!

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par Sekigawa Voir le message
    Malheureusement ça ne marche pas... help !!
    qu'est ce qui ne marche pas ?

  3. #3
    Membre éclairé Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Par défaut
    ça ne me génère rien du tout...

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Il manque visiblement deux choses dans votre code :

    Mis à part ces deux points, il fonctionne.

  5. #5
    Membre éclairé Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Par défaut
    Ouah c'est bon j'avais ouvlié de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $doc->save('XML/test.xml');
    Voilà ça marche nickel, par contre j'ai pas de saut de ligne.. c'est normal ?

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Oui, si vous voulez formater (indentation et sauts de ligne) votre document vous devez positionner la propriété formatOutput de votre objet DomDocument à TRUE avant l'appel aux méthodes save* :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $doc->formatOutput = TRUE;

  7. #7
    Membre éclairé Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Par défaut
    Merci sa marche nickel !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/12/2016, 17h36
  2. Générer fichier xml depuis .xls
    Par arimaze dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 23/09/2014, 14h02
  3. générer un fichier xml depuis une table avec data integrator BO
    Par explorateur dans le forum Alimentation
    Réponses: 0
    Dernier message: 19/01/2010, 14h22
  4. [SimpleXML] Générer un fichier XML depuis un objet
    Par CactO_o's dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/07/2008, 11h17
  5. [VB 2005]Générer fichier Excel depuis XML
    Par m-mas dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/02/2008, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo