Voila mon fichier xml:
Et je voudrais en ayant juste le filename chercher la boucle correspondante dans le xml et ensuite supprimer le noeud image qui lui correspond.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12<?xml version="1.0" encoding="UTF-8"?> <simpleviewerGallery maxImageWidth="480" maxImageHeight="480" textColor="0xFFFFFF" frameColor="0xffffff" frameWidth="20" stagePadding="40" thumbnailColumns="3" thumbnailRows="3" navPosition="left" title="Galerie" enableRightClickOpen="true" backgroundImagePath="" imagePath="" thumbPath=""> <image> <filename>1.jpg</filename> <caption/> </image> <image> <filename>2.jpg</filename> <caption/> </image> </simpleviewerGallery>
J'ai fait des recherches et trouvé un bout de code mais il me sort une erreur:
- Fatal error: Call to a member function removeChild() on a non-object in C:\PHP\Site web ELEONORE\V3\xml.php on line 28
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function delete_nod() { $document = new DomDocument(); $document->load('gallery.xml'); $images = $document->getElementsByTagName('image'); foreach ($images AS $image_) { $found = false; foreach ($image_->childNodes AS $node) { if ($node->nodeType != XML_ELEMENT_NODE) continue; //$_GET['varname'] => nom de l'image recherché pour la suppression if ($node->tagName == 'filename' && $node->nodeValue == $_GET['varname']) { echo '<p>Image ' . $node->nodeValue . ' correctement supprimer!</p>'; $image->removeChild($image_); } } $document->save('gallery.xml'); } }
Partager