salut les amis,
j'ai essayé de supprimer un nœud (track ) dans mon xml avec plusieurs méthodes mais j'ai pas réussi
voila mon xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE playlist SYSTEM "playlist.dtd">
<playlist xmlns="http://xspf.org/ns/0/" version="1">
<trackList>
<track id="S1207928088"><title>Sandia</title><creator>*******</creator><location>http://******/mp3/1.mp3</location></track>
<track id="S1207928715"><title>ee</title><creator>*********</creator><location>http://*****/mp3/2.mp3</location></track>
</trackList>
</playlist><
et le DTD :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<!ELEMENT playlist (trackList)>
<!ATTLIST playlist version CDATA #IMPLIED>
<!ATTLIST playlist xmlns CDATA #IMPLIED>
<!ELEMENT trackList (track+)>
<!ELEMENT track (title,creator,location)>
<!ATTLIST track id ID #REQUIRED>
<!ELEMENT title ANY>
<!ELEMENT creator ANY>
<!ELEMENT location ANY>
et mon code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
if (isset($_GET['id'])){
$id=$_GET['id'];
$songsup = $dom->getElementsByTagName("trackList")->item(0) ;
$songsup1 = $dom->getElementById("$id") ;
$songsup->removeChild($songsup1) ;
$dom->save('play_liste.xml');
}
et j'ai essyé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
if (isset($_GET['id'])){
$id=$_GET['id'];
$xp = new DomXPath($dom);
$del = $xp->query('/playlist/trackList/track[@id="' . $_GET['id'] . '"]/*');
$item = $del->item(0);
$item->parentNode->removeChild($item);
 
$dom->save('play_liste.xml');
}