Contenu | Rechercher | Menus

Annonce

Les adresses laposte.net ne permettent pas de recevoir nos emails. Vous êtes invité à changer d'adresse dans vos paramètres de compte à votre prochaine connexion.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 06/03/2013, à 15:22

max02100

[RESOLU]gestion d'un fichier xml en php

Bonjour à tous, alors mon soucis est que j'utilise l'api IMDB afin de récupéré les données concernant mes films et cette API me renvoi un fichier xml voici un exemple :
lien du fichier xml
comme vous pouvez le constaté il est divisé en categorie et certaines m'interessent et d'autres non.
Donc j'ai codé un code de recupération du xml et j'ai essayé d'en retiré les données qui m'interesse mais rien à faire les données ne se mettent pas dans les variables.J'ai suivi l'explication du site php manual.Je vous joint mon code :

while(($data = mysql_fetch_assoc($result))){
    								$doc = new DomDocument();
    								//on enleve l'extension du fichier
    								$titre = enleveExtension($data['dc_title'], ".mkv");
    								//on remplace les espaces par des + pour la recherche imdb
    								$IMDBSearch = ereg_replace('\ ','+',$titre);
    								//on utilise l'api allocine pour recuperer les données de chaque film
    								$doc -> save('"http://imdbapi.org/?title='.$IMDBSearch.'&type=xml&plot=simple&episode=0&limit=1&yg=0&lang=fr-FR&offset=&aka=simple&release=simple"');
    								//echo $doc;
    								//$xmlFile = $doc->saveXML();
    								//$doc->loadXML($xmlFile);
    								$title = $doc->getElementsByTagName('title');
                                    $rating = $doc->getElementsByTagName('rating');
                                    $year = $doc->getElementsByTagName('year');
                                    $imdb_url = $doc->getElementsByTagName('imdb_url');
                                    $directors= $doc->getElementsByTagName('directors');
                                    $actors = $doc->getElementsByTagName('actors');
                                    $plot_simple = $doc->getElementsByTagName('plot_simple');
                                    $poster = $doc->getElementsByTagName('poster');
                                    $film = new Film($title,$rating,$year,$imdb_url,$directors,$actors,$plot_simple,$poster);
                                    
                                    echo '<li class="span2 text-center">
    								 	<div class="thumbnail">';
    								 	    $film -> title();
    							    	echo'</div>
    							    </li>';
    							}

Comme vous le remarquez j'ai créé une classe film afin de stocker les données je la joint aussi au cas ou mais elle marche bien normalement :

<?php

class Film

{
	private $title;
	private $rating;
    private $year;
    private $imdb_url;
    private $directors;
    private $actors;
    private $plot_simple;
    private $poster;
    
    
	function __construct($title,$rating,$year,$imdb_url,$directors,$actors,$plot_simple,$poster){
		$this->title=$title;
		$this->rating=$rating;
		$this->year=$year;
        $this->imdb_url=$imdb_url;
        $this->directors=$directors;
        $this->actors=$actors;
        $this->plot_simple=$plot_simple;
        $this->poster=$poster;
	}
	
	function poster(){
  		echo '<img src="http://image.toutlecine.com/photos/d/r/a/dragon-ball-serietv-01-g.jpg" class="img-rounded">';
 	}
     
    function title(){
        if(empty($this->title)){
            echo'<p>rien dedans</p>';    
            return false;
        }else{
            echo $this->title;
            return true;
        }
    }

}

?>

Je vous remercie tous d'avance de votre aide car ca fait 1semaine que je me prend a tête dessus et je ne comprends pas pourquoi rien n'est retiré du document xml.

Dernière modification par max02100 (Le 07/03/2013, à 08:32)

Hors ligne

#2 Le 07/03/2013, à 08:32

max02100

Re : [RESOLU]gestion d'un fichier xml en php

bon probleme resolu je mets la solution ca peut servir à d'autres

 $xml = new SimpleXmlElement($doc, 0, true);

Hors ligne