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

EDI, CMS, Outils, Scripts et API PHP Discussion :

de php vers xml


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 14
    Points : 13
    Points
    13
    Par défaut de php vers xml
    Bonjour,

    Je voulais générer un fichier xml à partir d'une base mysql en utilisant easyphp3.
    le problème c'est le message d'erreur qui ne se fatigue pas de s'afficher lors de l'exécution du code ...append_chid expected one parameter..mais cette fonction ne supporte qu'un seul paramètre...
    ...voici le code initial:
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <?php 
    if(!$dbconnect = mysql_connect('localhost', 'user', 'pass')) {
       echo "Connection failed to the host 'localhost'.";
       exit;
    } // if
    if (!mysql_select_db('test')) {
       echo "Cannot connect to database 'test'";
       exit;
    } // if
     
    $table_id = 'some_table';
    $query = "SELECT * FROM $table_id";
    $dbresult = mysql_query($query, $dbconnect);
     
    // creér un nouveau  document XML
    $doc = domxml_new_doc('1.0');
     
    // créer un noeud root
    $root = $doc->create_element('root');
    $root = $doc->append_child($root);
     
    //parcours des par ligne
    while($row = mysql_fetch_assoc($dbresult)) {
     
    // ajouter un noeud pour chaque ligne
      $occ = $doc->create_element($table_id);
      $occ = $root->append_child($occ);
     
     // ajouter un noeud fils pour chaque champs
      foreach ($row as $fieldname => $fieldvalue) {
     $child = $doc->create_element($fieldname);
        $child = $occ->append_child($child);
     
     $value = $doc->create_text_node($fieldvalue);
        $value = $child->append_child($value);
    } // foreach
    } // whilel document
    // obtenir un document xml complet
    $xml_string = $doc->dump_mem(true);
    echo $xml_string;
    ?> 
    ************alors en principe on obtient quelque chose comme ça...
     
    <?xml version="1.0"?>
    <root>
    <table1>
        <column1>value1</column1>
        <column2>value2</column2>
        ............
        <columnX>valueX</columnX3>
      </table1>
      <table1>
        ............
      </table1>
    </root>
     
    ....NOUS PASSONS A AJOUTER DES ATTRIBUTS DANS LES NOEUDS 
    $child = $doc->create_element($fieldname);
    $child = $outer->append_child($child);
    $child->set_attribute('attr1', 'attrval1');
    $child->set_attribute('attr2', 'attrval2');
    $value = $doc->create_text_node($fieldvalue);
    $value = $child->append_child($value);
     
    ///////en principe vous trouverez ça
    <?xml version="1.0"?>
    <root>
      <some_table>
        <column1 attr1="attrval1" attr2="attrval2">value1</column1>
        <column2 attr1="attrval1" attr2="attrval2">value2</column2>
        <column3 attr1="attrval1" attr2="attrval2">value3</column3>
      </some_table>
    ///mais le message concernant le append_child insiste de rester pour m'assomer...quelqu un essaye ce code même avec une petite base et si ça marche...bin , je suis là...merci pour ceux qui lisent ce code...

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 101
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 101
    Points : 8 211
    Points
    8 211
    Billets dans le blog
    17
    Par défaut
    Il semblerait que tu utilises une vieille API DOMXML qui n'est plus maintenue ( http://fr.php.net/manual/fr/book.domxml.php ).
    Passe par l'API DOM : http://fr.php.net/manual/fr/book.dom.php ou bien créé ton XML à la mano.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

Discussions similaires

  1. transformer un tableau associatif en php vers xml
    Par imen.m dans le forum Langage
    Réponses: 6
    Dernier message: 13/06/2013, 15h47
  2. [Tableaux] Tableau vers XML avec une fonction PHP
    Par astrotouf dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2009, 22h51
  3. Flux rss : .php vers .xml
    Par cybertj dans le forum Apache
    Réponses: 2
    Dernier message: 14/11/2006, 23h58
  4. Réponses: 7
    Dernier message: 01/12/2005, 15h30

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