Page 1 sur 1

Comment supprimer un noeud ? HELP ME !!

Posté : 13 avr. 2006, 10:10
par ladefaquerie
Bonjour, je viens de me mettre à XML et DOM et je n'arrive pas à supprimer un noeud dans mon fichier xml.

Voici mon fichier:

Code : Tout sélectionner

<?xml version="1.0"?> <users> <user> <id>0</id> <nom>Admin</nom> <niveau_acces>Configuration</niveau_acces> <role>Technique</role> <password>toto</password> </user> <user> <id>1</id> <nom>Julien</nom> <niveau_acces>Report</niveau_acces> <role>Decideur</role> <password>titi</password> </user> </users>
Je voudrai supprimer un user ayant l'ayant l'id=1 soit :

Code : Tout sélectionner

<user> <id>1</id> <nom>Julien</nom> <niveau_acces>Report</niveau_acces> <role>Decideur</role> <password>titi</password> </user>
S'il vous plait aidez moi car là je trime!!
Merci

Posté : 13 avr. 2006, 10:30
par ouckileou
Si tu trimes c'est que tu as essayé des choses donc montre-les.
Que quelqu'un puisse te dire ce qui ne va pas, plutôt que de te balancer du code tout prêt, sans se servir de ce que tu auras déjà fait.

Posté : 13 avr. 2006, 10:41
par ladefaquerie
Mon code ne va pas beaucoup aider:
// fichier xml à parser
  $file = './xml/users.xml';
 
   // on récupère le contenu du fichier xml
  $data = implode('', file($file));
   
  // on cree un objet DOM
  $dom = new domDocument;
  //on charge le contenu du fichier xml
  $dom->loadXML($data);
  $tab=simplexml_import_dom($dom);
  
// on récupere l'identifiant de l'utilisateur
$id=$_GET["id"];

//suppression du noeud 
//Unset($tab->user[$id]); 

// on sauvegarde le fichier 
$dom->save("./xml/test.xml");
?>
J'ai essayé plusieurs fonctions mais rien n'y fait

Posté : 13 avr. 2006, 10:48
par Hermès
Sans passer par simpleXML, un exemple trouvé dans PHP5 Avancé :
<?php
$xml = "<livre>PHP5 avancé<a-retirer/></livre>";
$xml = utf8_encode($xml);
$document = new DomDocument();
$document->loadXML($xml);
$livre = $document->documentElement;
$livre->removeChild($livre->lastChild);
A mon avis c'est ta fonction unset qui est pas bonne, ça me parait bizarre comme nom de fonction pour supprimer un noeud...