Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > DOMXML
DOMXML Forum d'entraide pour l'extension DOMXML permettant de manipuler des documents XML en PHP 4 (approche DOM). Avant de poster -> tutoriels DOMXML
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/06/2005, 09h25   #1
Invité de passage
 
Inscription : mai 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 2
Points : 0
Points : 0
Par défaut [DOMXML] supprimer un noeud

bonjour,
j'ai un ptit problème, en fait je voudrai supprimer un noeud dans mon fichier xml avec php et domxml, mais le code que j'ai fait ne marche pas et comme je débute j'arrive pas a localiser mon erreur.
Mon code est le suivant :

Code :
1
2
3
4
5
6
$doc = new  domDocument();
$doc->load('arborescence.xml');
$xpathdoc= new DOMXPath($doc);
$node = $xpathdoc->query('//img[@id="'.$_GET['img'].'"]');
$parent = $node->parent_node();
$parent -> remove_child($node);


Je récupère mon xml, je fait une requête pour trouver le noeud que je veux supprimer, et je remonte au noeud parent pour le supprimer.
Mais j'ai l'erreur suivante :
Code :
1
2
 
Fatal error: Call to undefined method DOMNodeList::parent_node()


alors qu'est ce que j'ai bien pu rater ? lol
Musashii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 00h41   #2
Membre du Club
 
Inscription : décembre 2004
Messages : 63
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 63
Points : 65
Points : 65
c'est normal, puisque le query renvoie une DOMNodeList donc tu peut pas appliquer la methode parent_node() sans faire une petite boucle du style

Code :
1
2
3
4
5
6
7
8
 
foreach ($node as $item) {
   $pere=$item->parent_node();
   $pere->remove_child($item);
}
sinon si t'est sur que tu va recuperer un seul noeud alors tu fait:
$pere=$node->item(0)->parent_node();
$pere->remove_child($node->item(0));
guemairm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2005, 11h19   #3
Invité de passage
 
Inscription : mai 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 2
Points : 0
Points : 0
oki merci beaucoup pour le coup de main ^^
Musashii est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h33.


 
 
 
 
Partenaires

Hébergement Web