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 :
ca me donne cette affichage dans mon fichier xml :
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 $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");
Ensuite, c'est la que ca se gate pour moi, je cherche à insérer les données récupéré depuis le formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<?xml version="1.0" encoding="utf-8" standalone="no"?> <!--Powered by Eznable--> <!--Voici les membres de l'équipe de l'ERMeP.--> <ERMeP/>
Voici le code (oui il n'y a pas les $_POST je les rajouterais par la suite):
Un truc très simple, qui devait je pense me donner ce genre d'arborescence :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $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");
Donc ca n'est pas le cas,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8<?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>
A la place j'ai ceci :
et si je relance une deuxième fois, j'obtiens un warning :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7<?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>
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<?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.
Partager