Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
702 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Génération de fichier XML avec PhP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Génération de fichier XML avec PhP

n°2065264
Eznable
Aïe aïe aïe !
Posté le 22-03-2011 à 11:32:24  profilanswer
 

Bonjour à toutes et à tous !  
 
Je travail à titre scolaire sur la réalisation d'un script en php, permettant de stocker les informations d'un formulaire dans un fichier xml.
Si dans l'immédiat, la création du fichier s'effectue sans soucis, la réalisation de la structure et des sous noeuds elle, me pose des problèmes :  
Bref voici le code en question :  
 
Je test si le fichier liste.xml existe, sinon, je le crée : ce code fonctionne bien :  

Code :
  1. $fichier = new DOMDocument();
  2.  $fichier->version = '1.0';
  3.  $fichier->encoding = 'utf-8';
  4.  $fichier->xmlStandalone = false;
  5.  $fichier->formatOutput = true;
  6.  $intro = $fichier->createComment("Powered by Eznable" );
  7.  $fichier->appendChild($intro);
  8.  $intro = $fichier->createComment("Voici les membres de l'équipe de l'ERMeP." );
  9.  $fichier->appendChild($intro);
  10.  $ERMeP = $fichier->createElement('ERMeP');
  11.  $fichier->appendChild($ERMeP);
  12.  $fichier->save("./XML/liste.xml" );


 
ca me donne cette affichage dans mon fichier xml :
 
 

Code :
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!--Powered by Eznable-->
  3. <!--Voici les membres de l'équipe de l'ERMeP.-->
  4. <ERMeP/>


 
Ensuite, c'est la que ca se gate pour moi, je cherche à insérer les données récupéré depuis le formulaire :  
Voici le code (oui il n'y a pas les $_POST je les rajouterais par la suite):  

Code :
  1. $fichier = new DOMDocument();
  2.  $fichier->load(realpath('./XML/liste.xml'));
  3.  $fichier->formatOutput = true;
  4.  $categorie = $fichier->createElement('enseignants');
  5.  $fichier->firstchild->appendChild($categorie);
  6.  $nom = $fichier->createElement('nom', 'pépé');
  7.  $categorie->appendChild($nom);
  8.  $fichier->save("./XML/liste.xml" );


 
Un truc très simple, qui devait je pense me donner ce genre d'arborescence :
 

Code :
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!--Powered by Eznable-->
  3. <!--Voici les membres de l'équipe de l'ERMeP.-->
  4. <ERMeP>
  5. <enseignant>
  6. <nom>pépé</nom>
  7. </enseignant>
  8. </ERMeP>


 
Donc ca n'est pas le cas,  
A la place j'ai ceci :  

Code :
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!--Powered by Matthias Rolin-->
  3. <!--Voici les membres de l'équipe de l'ERMeP.-->
  4. <ERMeP/>
  5. <enseignants>
  6.   <nom>pépé</nom>
  7. </enseignants>


 
et si je relance une deuxième fois, j'obtiens un warning :
DOMDocument::load() [domdocument.load]: Extra content at the end of the document in file:///H:/xampp/htdocs/Recherche/Try/XML/liste.xml, line: 5 in H:\xampp\htdocs\Recherche\Try\traitement2.php on line 24  
 
Et surtout mon fichier xml se transforme en ceci :  
 

Code :
  1. <?xml version="1.0"?>
  2. <enseignants>
  3.   <nom>p&#xE9;p&#xE9;</nom>
  4. </enseignants>


 
Si quelqu'un peut me renseigner sur mes erreurs, je lui en serais très reconnaissant. Merci.


Message édité par Eznable le 22-03-2011 à 11:37:10
mood
Publicité
Posté le 22-03-2011 à 11:32:24  profilanswer
 

n°2065341
Paulp
~, sweet ~
Posté le 22-03-2011 à 17:20:56  profilanswer
 

Quand tu récupères le fichier, fais un print_r($fichier->firstchild) pour voir si c'est bien le noeud ERMeP.
Peut-être que firstChild est le commentaire ...
 
Tu ferais mieux, pour récupérer un noeud donné, d'utiliser le XPath, c'est beaucoup plus propre que de compter sur l'ordre des noeuds.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Génération de fichier XML avec PhP

 

Sujets relatifs
Blog : PHP et css - Formatage d'un article[Résolu] Proteger son code PHP
Ouverture d'un fichier selon une partie de son nomNommer Vignettes fichier pdf par macro Excel
Macro Excel2000 découpage d'un fichier en plusieurs ongletsMoteur de recherche perso en PHP : soucis avec des accents.
MySQL + PHP Tourne pas rondXML - PHP... API Flickr [RESOLU]
enregistrement fichier excel 2007 en pdf 
Plus de sujets relatifs à : Génération de fichier XML avec PhP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR