#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