Partage
  • Partager sur Facebook
  • Partager sur Twitter

supprimer un noeud XML avec DOM

    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. }
    • Partager sur Facebook
    • Partager sur Twitter

    supprimer un noeud XML avec DOM

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown