Bonjour,

J'ai un petit soucis avec simplexml, je souhaite ajouter un "noeud" photo en fonction de l'attribut du noeud parents.
Voici mon xml :

<?xml version="1.0" encoding="UTF-8"?>
<liste>
	<item id="1">
<nom>Adrien</nom>
</item>
	<item id="2">
<nom>Olivier</nom>
</item>
	<item id="3">
<nom>CYrille</nom>
</item>
</liste>


Voila ma page projet_detail&id= :


<?

	function random($car) {
	$string = "";
	$chaine = "abcdefghijklmnpqrstuvwxy";
	srand((double)microtime()*1000000);
	for($i=0; $i<$car; $i++) {
	$string .= $chaine[rand()%strlen($chaine)];
	}
	return $string;
	}

	$chaine = random(20);

	$liste = simplexml_load_file('xml/projet.xml');
	echo $id ;
	foreach ($liste->item as $item)
	{			
		if ($id == $item[id])
		{
			echo "Numéro de projet  : {$item[id]} ";
			echo "Projet: {$item->nom} ";
			$liste->item->addChild('photo', $chaine);
			$liste ->asXML('xml/projet.xml');
			
		}	
	}		
?>


J'aimerais rajouter un noeud photo, contenant une chaine de caractère, enf fonction de l''attribut du noeud correspond à l'id passé en paramètre dans l'url.

Mon $id me retourne bien 3, mon item Smiley id vaut aussi 3 mais quand j'ajoute cette chaine de caractère, celle ci s'ajoute au premier noeud... Alors qu'en théorie $id est bien = à item Smiley id

Des idées ?

Merci.
Re...


<?

	function random($car) {
	$string = "";
	$chaine = "abcdefghijklmnpqrstuvwxy";
	srand((double)microtime()*1000000);
	for($i=0; $i<$car; $i++) {
	$string .= $chaine[rand()%strlen($chaine)];
	}
	return $string;
	}

	$chaine = random(20);

		$sxml = simplexml_load_file('xml/projet.xml');
		
		$bool = false ;
		foreach($sxml->item as $item)
		{		
				
			if ($item[id] == $id)
			{
				$bool = true ;	

			}
		}
		
		if ($bool = true) 
		{
			echo "Numéro de projet  : {$item[id]} ";
			echo "Projet: {$item->nom} ";
			
			$character = $sxml->item[0]->addChild('photo', $chaine);
			

			
			
			$sxml ->asXML('xml/projet.xml');
		}					
		else
		{
			echo 'erreur' ;
		}
		
?>


J'ai modifié un peu mon code pour réaliser des tests...

Au niveau de la ligne :
$character = $sxml->item[0]->addChild('photo', $chaine);

Ca me rajoute bien un enfant photo au niveau du parent id = 1 mais dés que je passe item[ i d], ca ne fonctionne plus... Je vais devenir Smiley biggol