Partage

supprimer un noeud XML avec DOM

Le 12 avril 2008 à 15:55:41

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
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE playlist SYSTEM "playlist.dtd">
  3. <playlist xmlns="http://xspf.org/ns/0/" version="1">
  4.         <trackList>
  5.         <track id="S1207928088"><title>Sandia</title><creator>Radio Essaouira</creator><location>http://radioessaouira.com/mp3/1.mp3</location></track>
  6.         <track id="S1207928715"><title>ee</title><creator>Radio Essaouira</creator><location>http://radioessaouira.com/mp3/2.mp3</location></track>
  7.         </trackList>
  8. </playlist>

et le DTD :
<!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 :
  1. if (isset($_GET['id'])){
  2. $id=$_GET['id'];
  3. $songsup = $dom->getElementsByTagName("trackList")->item(0) ;
  4. $songsup1 = $dom->getElementById("$id") ;
  5. $songsup->removeChild($songsup1) ;
  6. $dom->save('play_liste.xml');
  7. }


et j'ai essyé :
  1. if (isset($_GET['id'])){
  2. $id=$_GET['id'];
  3.     $xp = new DomXPath($dom);
  4.     $del = $xp->query('/playlist/trackList/track[@id="' . $_GET['id'] . '"]/*');
  5.            $item = $del->item(0);
  6.         $item->parentNode->removeChild($item);
  7.  $dom->save('play_liste.xml');
  8. }
Publicité
Le 12 avril 2008 à 15:55:41

supprimer un noeud XML avec DOM

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown