Remove XML Child Node

SteveC

New Member
I wonder whether someone may be able to help me please.I'm using this page to allow users to view a gallery of their uploaded images.Upon upload, the images are saved in this filepath \[code\]UploadedFiles/userid/locationid/image\[/code\] and the details of the image i.e. name, description etc are saved in an XML file called \[code\]files.xml\[/code\] which located in the same directory as the images. An extract of this is shown below:\[code\]<?xml version="1.0" encoding="utf-8" ?> - <files> <file name="AC-0003749-Clark_145520.jpg" source="AC-0003749-Clark_145520.jpg" size="3873" originalname="AC-0003749-Clark_145520.jpg" description="No description provided" userid="1" locationid="1" /> </files>\[/code\]The gallery gives additional functionality to the user by, via the icon under each image, the ability to delete each image. This is done via the following code:Icon click Event\[code\]<script type="text/javascript"> Galleria.ready(function() { this.$('thumblink').click(); $(".galleria-image").append( "<span class='btn-delete ui-icon ui-icon-trash'></span>"); $(".btn-delete").live("click", function(){ var img = $(this).closest(".galleria-image").find("img"); // send the AJAX request $.ajax({ url : 'delete.php', type : 'post', data : { image : img.attr('src') }, success : function(){ alert('Deleting image... '); img.parent().fadeOut('slow'); } }); return false; }); }); </script>\[/code\]delete.php - Amended Code\[code\]<?php if (!empty($_POST)) { $image = $_POST['image']; if (file_exists($image)) { unlink($image); } } $doc = new DOMDocument; $doc->load('files.xml'); $thedocument = $doc->documentElement; $list = $thedocument->getElementsByTagName('files'); $nodeToRemove = null; foreach ($list as $domElement){ if ($attrValue =http://stackoverflow.com/questions/10587021/='$image') { $domElement->parentNode->removeChild($domElement); } }if ($nodeToRemove != null) $thedocument->removeChild($nodeToRemove); echo $doc->saveXML(); ?> \[/code\]The deletion of the physical image works fine, but I'm having great difficulty in working out how to delete the relevant child node. Although I receive no error message the node is not deleted. I have received some guidance here from this site about how to go about this, i.e. via PHP XML DOM, but to be honest the more I read about this, the more I get confused. I just can't seem to get my head around it.I just wondered whether someone could have a look at this please and let me know where I've gone wrong.Many thanks and kind regards
 
Back
Top