Php - Problème avec XML
Résolu
chico95
-
chico95 -
chico95 -
Bonjour à tous,
J'ai un fichier XML comme ceci :
Et j'aimerais pouvoir supprimer le menu portant le nom 'qlikvaaaaa', or j'ai tout essayé mais je n'y arrive pas. PHP ne me génère aucune erreur, mais le script ne fait rien...
Voila mon code :
Merci pour votre aide !
J'ai un fichier XML comme ceci :
<?xml version='1.0' standalone='yes'?> <menus> <menu> <nom>bo</nom> <ss_menus> <ss_menu> <ss_nom>aaa</ss_nom> </ss_menu> <ss_menu> <ss_nom>bbb</ss_nom> </ss_menu> </ss_menus> </menu> <menu> <nom>bw</nom> <ss_menus/> </menu> <menu> <nom>qlikvaaaaa</nom> <ss_menus/> </menu> </menus>
Et j'aimerais pouvoir supprimer le menu portant le nom 'qlikvaaaaa', or j'ai tout essayé mais je n'y arrive pas. PHP ne me génère aucune erreur, mais le script ne fait rien...
Voila mon code :
$menu=htmlspecialchars($_POST['choix']); /*on load le fichier xml*/ $dom = new DOMDocument(); $dom->load('../menu.xml'); $parent = $dom->getElementsByTagName('menu'); for($i=0; $i<=$parent->length-1; $i++) { $listeMenu = $parent->item($i)->getElementsByTagName('nom'); foreach($listeMenu as $liste) { if($liste->firstChild->nodeValue == $menu) { $element = $parent->item($i); } } } $dom->documentElement->removeChild($element); $dom->saveXML();
Merci pour votre aide !
A voir également:
- Php - Problème avec XML
- Xml download - Télécharger - Édition & Programmation
- Easy php - Télécharger - Divers Web & Internet
- Office xml handler - Télécharger - Traitement de texte
- Driveimage xml - Télécharger - Sauvegarde
- Expert php pinterest - Télécharger - Langages
4 réponses
Ouaah nikel sa marche !
Merci beaucoup !
Juste, j'aimerais savoir c'est quoi la différence entre les 2 ?
Merci beaucoup !
Juste, j'aimerais savoir c'est quoi la différence entre les 2 ?
->saveXML() renvoi un String qui contient le XML
->save(fichier), sauve dans un fichier
moi aussi je me suis cassé les dents là dessus
Cordialement
->save(fichier), sauve dans un fichier
moi aussi je me suis cassé les dents là dessus
Cordialement
Salut.
Je n'avais pas lu les autres réponses alors, pour ne pas avoir codé pour rien, voici mon code un peu plus court que le tiens :
Je n'avais pas lu les autres réponses alors, pour ne pas avoir codé pour rien, voici mon code un peu plus court que le tiens :
<?php // Création de l'objet DOM $dom = new DOMDocument('1.0'); $dom->loadXML($xml); // Recherche de l'élément $noms = $dom->getElementsByTagName('nom'); foreach($noms as $nom) { if($nom->textContent == 'qlikvaaaaa') { // Suppression $nom->parentNode->removeChild($nom); } } // Affichage du XML (pas de sauvegarde de la modif.) echo $dom->saveXML(); ?>