par
Truc » 30 juil. 2007, 13:58
pour accèder a ton attribut title tu aurais due faire :
foreach ($xml->img as $img)
{
echo "Title : ".$img['title']." <br/>";
}
un sous tableau pour les attributs.
Un apercu pour supprimer un élément et créer un autre:
$xml = simplexml_load_file('../accueil/dewslider.xml');
unset($xml->img[3] ); // supprime la 4ème balise img...
$img = $xml->addChild('img');
$img->addAttribute('src', 'new_img.jpg');
$img->addAttribute('title', 'new_title');
echo $xml->asXML('../accueil/dewslider.xml');
Sinon il y a aussi le dom (plus simple pour la "grosse" manipulation de xml)
$dom = new DOMDocument();
$dom->load('../accueil/dewslider.xml');
$imgs = $dom->getElementsByTagName('img');
foreach ($imgs as $img)
{
if($img->getAttribute("src") == "accueil/img/3.jpg" ) // nom de l'image
{
$img_element = $dom->createElement('img'); // création d'un nouveau noeud
$img_element->setAttribute("src", "accueil/img/6.jpg");
$img_element->setAttribute("title", "titre_6");
$img->parentNode->replaceChild($img_element,$img); //remplacement du noeud ayant comme attribut src "accueil/img/3.jpg"
}
}
echo $dom->save('../accueil/dewslider.xml');
à peu de choses près ça devrait être suffisant pour tes besoins