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 :
- $fichier = new DOMDocument();
- $fichier->version = '1.0';
- $fichier->encoding = 'utf-8';
- $fichier->xmlStandalone = false;
- $fichier->formatOutput = true;
- $intro = $fichier->createComment("Powered by Eznable" );
- $fichier->appendChild($intro);
- $intro = $fichier->createComment("Voici les membres de l'équipe de l'ERMeP." );
- $fichier->appendChild($intro);
- $ERMeP = $fichier->createElement('ERMeP');
- $fichier->appendChild($ERMeP);
- $fichier->save("./XML/liste.xml" );
|
ca me donne cette affichage dans mon fichier xml :
Code :
- <?xml version="1.0" encoding="utf-8" standalone="no"?>
- <!--Powered by Eznable-->
- <!--Voici les membres de l'équipe de l'ERMeP.-->
- <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 :
- $fichier = new DOMDocument();
- $fichier->load(realpath('./XML/liste.xml'));
- $fichier->formatOutput = true;
- $categorie = $fichier->createElement('enseignants');
- $fichier->firstchild->appendChild($categorie);
- $nom = $fichier->createElement('nom', 'pépé');
- $categorie->appendChild($nom);
- $fichier->save("./XML/liste.xml" );
|
Un truc très simple, qui devait je pense me donner ce genre d'arborescence :
Code :
- <?xml version="1.0" encoding="utf-8" standalone="no"?>
- <!--Powered by Eznable-->
- <!--Voici les membres de l'équipe de l'ERMeP.-->
- <ERMeP>
- <enseignant>
- <nom>pépé</nom>
- </enseignant>
- </ERMeP>
|
Donc ca n'est pas le cas,
A la place j'ai ceci :
Code :
- <?xml version="1.0" encoding="utf-8" standalone="no"?>
- <!--Powered by Matthias Rolin-->
- <!--Voici les membres de l'équipe de l'ERMeP.-->
- <ERMeP/>
- <enseignants>
- <nom>pépé</nom>
- </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:///Hxampp/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 :
- <?xml version="1.0"?>
- <enseignants>
- <nom>pépé</nom>
- </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