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:
Affin de supprimer une de ces news j'ai une bibliothèque de fonction, avec, pour la suppression, dans un fichier XML.php:
et enfin ma page de suppression pour le moment mais je n'arrive pas à aller plus loin, tout mes tests on était des échecs... :cry:
note: - la fonction Calque créer simplement une <div>
- la fonction Remplir sert à remplir la <div>
Je sèche complètement ! Après moultes essaies je n'y arrive vraiement pas :cry:
Quelqu'un pourrait il m'aiguiller s'il vous plait? :aie:
Merci beaucoup de votre aide !
Kenshuri.
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:
<?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:
<?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... :cry:
note: - la fonction Calque créer simplement une <div>
- la fonction Remplir sert à remplir la <div>
Code:
<?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 :cry:
Quelqu'un pourrait il m'aiguiller s'il vous plait? :aie:
Merci beaucoup de votre aide !
Kenshuri.