Bonjour a tous,
Je travail actuellement sur un document XML avec PHP5 et les fonctions DOM.
Je voudrais supprimer un noeud dans mon document xml identifié par un id, et supprimer également ses enfants.
Voici mon document xml :
Par exemple donc je souhaite supprimer le noeud photo 5 et donc son contenu.
Voici mon code PHP que j'utilise :
Quand j'essaye ce code, cela me donne cette erreur :
J'espere que quelqu'un pourra m'aider.
Bonne soirée à tous.
Cordialement.
Je travail actuellement sur un document XML avec PHP5 et les fonctions DOM.
Je voudrais supprimer un noeud dans mon document xml identifié par un id, et supprimer également ses enfants.
Voici mon document xml :
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<frenchQuality>
<photo id="0">
<image>img/img1.jpg</image>
<url>https://www.google.fr</url>
</photo>
<photo id="1">
<image>img/img2.jpg</image>
<url>http://www.web-together.com</url>
</photo>
<photo id="2">
<image>img/img3.jpg</image>
<url>http://www.clubic.com</url>
</photo>
<photo id="3">
<image>img/img4.jpg</image>
<url>http://www.ideal-com.com</url>
</photo>
<photo id="4">
<image>img/appli.JPG</image>
<url>test</url>
</photo>
<photo id="5">
<image>img/Coucher_de_soleil.jpg</image>
<url>couher</url>
</photo>
</frenchQuality>
Par exemple donc je souhaite supprimer le noeud photo 5 et donc son contenu.
Voici mon code PHP que j'utilise :
Code:
<?php
//on recupere l'identifiant du noued a supprimer
$id = $_GET['id'];
/*on load le fichier xml*/
$data = new DOMDocument();
$data->load('bandeau.xml');
/*on recherche l'element qu'on veut supprimer dont l'id est
passé en paramétre*/
$deletePhoto = $data->getElementById($id);
$parent = $data->getElementsByTagName('frenchQuality');
/*on le delete*/
$parent->removeChild($deletePhoto);
/*on sauve le xml*/
$data->save('bandeau.xml');
?>
Quand j'essaye ce code, cela me donne cette erreur :
Fatal error: Call to undefined method DOMNodeList::removeChild() in /home.10.7/webtoget/www/ideal/delete.php5 on line 19
J'espere que quelqu'un pourra m'aider.
Bonne soirée à tous.
Cordialement.