IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM XML] Supprimer un noeud


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [DOM XML] 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Call to undefined method DOMNodeList::parent_node()


    alors qu'est ce que j'ai bien pu rater ? lol

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 74
    Points
    74
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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));

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    oki merci beaucoup pour le coup de main ^^

Discussions similaires

  1. [DOM XML] Supprimer noeud XML/PHP 5
    Par bobo27110 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 31/07/2012, 15h49
  2. xml:supprimer un noeud avec dom
    Par awalter1 dans le forum Général Python
    Réponses: 1
    Dernier message: 27/10/2010, 15h01
  3. [XML] [DOM XML] editer un noeud dans un fichier XML
    Par nina.b dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 17/09/2009, 12h22
  4. [DOM XML] Supprimer un noeud de ma base XML chargé avec un DomDocument
    Par youtch dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/03/2009, 14h35
  5. [XML DOM]Supprimer plusieurs noeud
    Par Shandler dans le forum APIs
    Réponses: 9
    Dernier message: 06/06/2007, 19h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo