|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Étudiant Inscription : mai 2008 Messages : 149 ![]() |
Bonjour à tous !
Je travaille actuellement sur la construction d'un fichier XML via DOM XML. Chaque fichier contient des informations concernant des communes. J'ai donc plusieurs fichiers XML car j'ai plus de 40 communes à gérer. Voici la structure que j'aimerais pour mon fichier : Code :
Pour le moment j'arrive à ajouter les nœuds mais seulement dans le nœud root : data ! Merci de votre aide ! Ah oui je voulais préciser que je construisais mon fichier via différents fichiers php... |
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : septembre 2006 Messages : 1 466 ![]() |
Hello,
D'après la Doc (cf http://www.php.net/manual/fr/functio...pend-child.php ), la méthode append_child() ajoute un n nouveau fils à la fin des enfants de l'élément courant. Donc d'abord tu récupères l'élément qui sera le futur parent, puis tu utilise cette méthode append_child() dessus. |
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Étudiant Inscription : mai 2008 Messages : 149 ![]() |
Salut à toi et merci pour ta réponse rapide !
J'ai réussi à gérer l'ajout du nœud "commune" lorsque mon fichier XML est vide mais je gère aussi le fait que si le fichier et le nœud existe, on supprime le nœud et on le rajoute... Ici par contre je n'arrive rien à faire... Comment puis-je faire pour récupérer le noeud commune ? Pour récupérer le noeud racine il suffit de faire : Mais pour le nœud "commune" rien ne fonctionne... J'ai essayé cela : Code :
Code :
Fatal error: Call to a member function appendChild() on a non-object in c:\program files\apache group\Apache\www-internet\page\syndicat\territoire\admin\entree_donnee_realisation.php on line 531 1er pièce jointe : DOMXML avec php 2ème pièce jointe : Fonction Chargement_Realisation_XML |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : septembre 2006 Messages : 1 466 ![]() |
Hello,
Tu devrais plutôt faire qqchose comme ça : Code :
|
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mai 2008 Messages : 149 ![]() |
Ça ne marche toujours pas
L'appendChild je le fait dans ma fonction Chargement_Realisation_XML en récupérant le noeud commune dans ma fonction ... Code :
Chargement_Realisation_XML($VG, $file, $element_commune, $vs_Realisation_Commune); |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : septembre 2006 Messages : 1 466 ![]() |
Je suis pas rentré dans le détail de ton code, mais pour moi le truc louche, c'est :
Code :
$element_commune=$noeud_commune->item(0)->nodeName; |
|
|
00
|
|
|
#7 | ||||
|
Nouveau Membre du Club
![]() Étudiant Inscription : mai 2008 Messages : 149 ![]() |
Avec ou sans ça ne fonctionne pas.
Pour faire simple je veux rechercher le noeud "commune", le garder en mémoire et l'envoyer via une fonction. Cette fonction me permet d'ajouter les nœuds. Code :
Code :
Chargement_Realisation_XML($VG, $file, $element_commune, $vs_Realisation_Commune); Code :
|
||||
|
|
00
|
|
|
#8 | ||
|
Nouveau Membre du Club
![]() Étudiant Inscription : mai 2008 Messages : 149 ![]() |
Ça y est ça fonctionne ! Il m'a suffit de faire cela :
Code :
$element_commune = $file->getElementsByTagName("commune")->item(0);
Code :
|
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com