Probleme creation class xml (objet)

Eléphanteau du PHP | 14 Messages

07 févr. 2011, 12:35

Bonjour je suis entrain de créer une classe xml le problème étant que les paramètres de mon objet xml sont écris en chaîne et dans les fonctions que je créer cela ne fonctionne pas à causes de ses paramètres passés en chaîne dans mon objet xml(Catchable fatal error: Object of class xml could not be converted to string in C:\wamp\www\xml\xml.class.php on line 34)

voila ma classe
<?php
class xml{


private $fichier_xml ="";
private $racine="";
private $element="";
private $attribut="";


public function __construct($fichier_xml="",$racine="",$element="",$attribut=""){
		$this->fichier_xml = $fichier_xml;
		$this->racine= $racine;
		$this->element = $element;
		$this->attribut= $attribut;
	}


function connect(){
	if (file_exists($this->fichier_xml)) {
		return simplexml_load_file($this->fichier_xml);
	} 
	else 
	{
		exit('Echec lors de l\'ouverture du fichier '.$this->fichier_xml);
	}
}


function list_element(){
	$i=1;
	$tab = array();
	$xml=$this->connect();
	foreach ($xml->$this->racine as $value)//ligne 34 erreur ici
		{
				$tab[$i]=$value->$this->element; 
				$i++;
		}
}


}// fin classe
//test class 
$objet = new xml("actuphoto.xml","article",'titrechapitre','idArticle');
echo $objet->list_element();
?>

ViPHP
ViPHP | 5462 Messages

07 févr. 2011, 12:38

$xml->$this->racine
:?:


plutôt
$xml->racine

Eléphanteau du PHP | 14 Messages

07 févr. 2011, 12:43

merci ;)

ViPHP
ViPHP | 5462 Messages

07 févr. 2011, 12:45

enfaite j'ai compris c'est plutôt
$xml->{$this->racine}
et pareil pour l'autre
$value->{$this->element};

par contre tu pourrais utilise xpath ca serai plus simple


et pour ta boucle pas besoin de $i, juste faire :
$tab[] = $value->{$this->element};