Bonjour,

J'ai vu certains poste sur le même problème, je m'en suis déjà inspiré pour créer ma page, mais ça ne fonctionne toujours pas...

Dans le XML suivant, je tente de retirer un "catalogue" en fonction de l'attribut "id" de la balise "titre".

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<liste>
    <catalogue>
		<titre id="5000">Cata1</titre>
		<date start="1348005600" end="1349042340" />
		<publish on="1347832800" off="1349042340" />
		<folder>Folder1</folder>
	</catalogue>
    <catalogue>
		<titre id="2000">Cata2</titre>
		<date start="1348005600" end="1349042340" />
		<publish on="1347832800" off="1349042340" />
		<folder>Folder2</folder>
	</catalogue>
</liste>
voila ma page delete.php:

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
<?php
$id = "5000";
$data = new DOMDocument();
$data->load('catalogue.xml');
$racine = $data->documentElement;
$catalogues = $data->getElementsByTagName('catalogue');
 
foreach($catalogues as $catalogue)
{
	$titre=$catalogue->getElementsByTagName( "titre" )->item(0);
	if($titre->getAttribute("id") == $id)
	{
		echo "juste avant le remove...";
		$data->removeChild($data);
	}
$data->save('test.xml');
}
?>
j'ai aussi testé
$data->removechild ($catalogue);

mais rien à faire... je dois mal utiliser removeChild.