Bonjour à tous.

Je suis arriver à un point où je butte complètement.
J'appel à l'aide !
Je souhaite supprimer un noeud d'un fichier XML sur une page ou je récupère les éléments <title> à l'aide d une boucle. Puis grâce à un lien html j'aimerais qu'avec un onclick cela supprime l'item parent.

Pour cela j'ai:
le fichier xml qui se présente comme ca:
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
19
20
21
22
23
24
25
26
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<rss  version="0.91">
   <channel>
      <item>
         <title>Titre de ma news 1</title>
         <description>Contenu de ma news</description>
         <link>Lien facultatif</link>
         <pubDate>Date de publication</pubDate>
       </item>
 
       <item>
         <title>Titre de ma news 2</title>
         <description>Contenu de ma news 2</description>
         <link>Lien facultatif</link>
         <pubDate>Date de publication</pubDate>
       </item>
 
       <item>
         <title>Titre de ma news 3</title>
         <description>Contenu de ma news 3</description>
         <link>Lien facultatif</link>
         <pubDate>Date de publication</pubDate>
       </item>
   </channel>
</rss>
Affin de supprimer une de ces news j'ai une bibliothèque de fonction, avec, pour la suppression, dans un fichier XML.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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
<?php
class Xml {
 
   //--- propriétés ---
   private $dom ;                    // objet dom pour parser le document xml
   private $noeud ;                  // nom du noeud actuellement parcouru
   private $item ;                   // item actuel
   private $num ;                    // numero de l'item correspondant au noeud parcouru
   private $eob ;                    // fin de parcourt du noeud
   private $nomficxml="" ;              //  nom du fichier xml
   private $chaineXML ;              // nom de la chaine XML
 
//--- constructeur ---
   public function Xml ($chaineXML="") {
      $this->dom = new DomDocument();
	  if ($chaineXML != "") {
	     $this->chaineXML = $chaineXML ;
	     $this->dom->loadXML($chaineXML);
	  }
   }
 
   //--- chargement d'un fichier XML ---
   public function recupFic ($nomficxml) {
      $this->nomficxml = $nomficxml ;
      $this->dom->load($nomficxml);
   }
 
   //--- positionnement sur le premier noeud d'un nom précis ---
   public function premier ($item) {
      $this->noeud = $this->dom->getElementsByTagName($item) ;
	  $this->num = -1 ;
	  $this->item = $item ;
	  $this->eob = false;	 
	  $this->suivant () ; 
   }
 
   //--- lecture du noeud suivant ---
   public function suivant () {
      $this->num++ ;
      $this->eob = ($this->noeud->item($this->num)==null) ;
   }
 
   //--- récupération de l'information contenue dans un noeud ---
   public function info ($noeud) {
      return $this->noeud->item($this->num)->getElementsByTagName($noeud)->item(0)->firstChild->nodeValue ;
   }
 
//--- enregistrement dans un fichier XML ---
   public function eob () {
      return $this->eob;
   }
 //--- suppression d'un noeud ---
   public function supprimer () { 
      $element = $this->noeud->item($this->num) ;
      $result = $this->dom->documentElement->removeChild($element);
	  $this->sauve () ;
   }
   //--- enregistre le nouveau dom dans le fichier ou le document ---
   public function sauve () { 
      if ($this->nomficxml != "") { 
         $this->dom->save($this->nomficxml) ;
      } else {
         $this->dom->saveXML($this->chaineXML) ;
	  }
   }
 
}
?>
et enfin ma page de suppression pour le moment mais je n'arrive pas à aller plus loin, tout mes tests on était des échecs...
note: - la fonction Calque créer simplement une <div>
- la fonction Remplir sert à remplir la <div>

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
<?php
//creation d'un calque pour afficher les news à supprimer
$supprnews = new Calque ($id="suppr_news", 
					$left=390, 
					$top=20, 
					$width=375, 
					$height=450, 
					$align="left", 
					$centre=false, 
					$image,
					$color="", 
					$deplace=false, 
					$redim=false, 
					$efface=false, 
					$visible=true
					);
 
$xmlNews = new XML("");
 
$xmlNews -> recupFic($ficNews);
 
$contenusupprnews = "<span class='normalblanc' style='display: block ;margin-left: 10px;'>";
 
$contenusupprnews .= "<span style='display: block ;margin: 12px 0 0 0; text-align: center; '>Supprimer une news:<br /></span>";
 
$xmlNews -> premier ("item");
 
while (!$xmlNews->eob()) {
	                        $contenusupprnews .= "<strong>".$xmlNews->info("title")."</strong>"."  -> <a href='#' onclik=''>Supprimer cette news X</a><br />" ;
				$contenusupprnews .= "<br /><br />";
				$xmlNews -> suivant ("item");
				}
 
$contenusupprnews .= "</span>";
$supprnews ->Remplir($contenusupprnews);
$total .= $supprnews->getComplet();
?>
Je sèche complètement ! Après moultes essaies je n'y arrive vraiement pas
Quelqu'un pourrait il m'aiguiller s'il vous plait?
Merci beaucoup de votre aide !

Kenshuri.