Voila mon fichier xml:
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>
Et je voudrais en ayant juste le filename chercher la boucle correspondante dans le xml et ensuite supprimer le noeud image qui lui correspond.
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');
}
}