IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Récupération XML EPG


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 210
    Points : 91
    Points
    91
    Par défaut [SimpleXML] Récupération XML EPG
    Bonjour à tous,

    Je souhaite simplement récupérer les données EPG d'un fichier XML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE tv SYSTEM "xmltv.dtd">
    <tv generator-info-name="dvb-epg-gen">
     
    <programme channel="2.dvb.guide" start="20181103120800 +0000" stop="20181103125400 +0000">
     	<title lang="fr">Max et Vénus : Velouté de potimarron </title>
    	<sub-title lang="fr">Fanny Jandrain et Maximilien, entourés de leurs chroniqueuses, vous fixent rendez-vous sur La Deux pour leur émission culinaire : tendances et bonne humeur garanties !</sub-title>
    	<desc lang="fr">Des bonbons ou un sort ? C'est Halloween ! Araignées, citrouilles, mains découpées... Le plateau de " Max et Vénus " sera méconnaissable ! Aux couleurs de cette fête de l'horreur... Max cuisinera un velouté de potimarron et en twist, il y ajoutera du foie gras poêlé et des éclats de châtaignes.ŠFanny lancera un défi à Daniel Brunin, sculpteur de légumes : aura-t-il le temps en une demi-émission de sculpter la plus effrayante des citrouilles ? Et qui de mieux que la plus Belge des américaines, BJ Scott, pour nous parler de cette fête extrêmement célèbre aux Etats Unis. Entre traditions, légendes et recettes, BJ nous apportera des préparations " home-made " pour célébrer Halloween comme il se doit ! Et Prezy présentera tous les accessoires et bonbons indispensables pour réussir cette fête chez soi !</desc>
    </programme>
    <programme channel="2.dvb.guide" start="20181103125400 +0000" stop="20181103143000 +0000">
     	<title lang="fr">Apprentis cascadeurs</title>
    	<desc lang="fr">Alvin,  Audrey, Maelle et Medhi aiment l'action, le spectacle et le cinéma... Ils n'ont qu'un seul rêve : devenir cascadeurs professionnels. Pour y parvenir, ils ont intégré une école pas comme les autres : Action Training Production. ŠA la tête de cette formation atypique, Louis Marc Marty, un ancien militaire. Professionnel des armes à feu, des sports de combat et de la cascade, il a créé cette école il y a 35 ans. ŠPour 15000 euros, sur 5 ans, il permet à de nombreux jeunes de se lancer dans la cascade. Dans cette école, pas de bulletin de notes, pas de groupe de niveaux. Tous les élèves sont à la même enseigne. Seuls le non respect des règles ou l'abandon peuvent mettre un coup d'arrêt à leur formation. Au côté du directeur, 2 anciens élèves forment à leur tour les apprentis cascadeurs.  Samir a 36 ans. Il est spécialiste des percussions automobiles et des chorégraphies de combat. Nolan a 28 ans. Amateur de grosses explosions, il exécute aussi les chutes à la perfection. </desc>
    </programme>
    <programme channel="2.dvb.guide" start="20181103143000 +0000" stop="20181103152300 +0000">
     	<title lang="fr">Bienvenue chez nous </title>
    </programme>
    <programme channel="1.dvb.guide" start="20181104162100 +0000" stop="20181104172400 +0000">
     	<title lang="fr">Les carnets de Julie : Le pays Tursan</title>
    </programme>
    <programme channel="1.dvb.guide" start="20181104172400 +0000" stop="20181104173200 +0000">
     	<title lang="fr">Contacts : Le train est toujours le plus fort...</title>
    </programme>
    <programme channel="1.dvb.guide" start="20181104173000 +0000" stop="20181104182400 +0000">
     	<title lang="fr">Week-end Sportif </title>
    </programme>
    <programme channel="3.dvb.guide" start="20181103061000 +0000" stop="20181103063100 +0000">
     	<title lang="fr">Tom et Jerry Show : Sacre Tuffy/ Pouf!</title>
    	<sub-title lang="fr">Inlassablement pourchassée par le chat Tom, qui rêve d'en faire son déjeuner, la petite souris Jerry n'est pourtant pas du genre à se laisser attraper !</sub-title>
    	<desc lang="fr">Inlassablement pourchassée par le chat Tom, qui rêve d'en faire son déjeuner, la petite souris Jerry n'est pourtant pas du genre à se laisser attraper !ŠPoursuites et gags sont au programme.ŠTour à tour ennemis mortels ou alliés, Tom et Jerry offrent un cocktail savoureux et désopilant. Leurs aventures sont de véritables petits sketches. Butch, le chat noir rival de Tom, Spike "the Killer", l'énorme bouledogue qui protège souvent Jerry,  ou encore "Mammy two shoes" dont on ne voit que les pieds, sont autant d'invités d'honneur qui ajoutent leur grain de sel dans les aventures endiablées du couple infernal !Š</desc>
    </programme>
    <programme channel="3.dvb.guide" start="20181103063100 +0000" stop="20181103064200 +0000">
     	<title lang="fr">La tribu Monchhichi : Le concours de farces</title>
    	<desc lang="fr">Kiki est une peluche de taille variable représentant un petit singe avec une tête ronde et dure, une tétine à la main, et qui connut un succès international dans les années 1980.ŠKiki est d'origine japonaise, et s'appelle au Japon Monchhichi. Il a été créé par K¶ichi Sekiguchi afin d'inculquer le respect et l'amour aux jeunes enfants.</desc>
    </programme>
    <programme channel="3.dvb.guide" start="20181103064200 +0000" stop="20181103065400 +0000">
     	<title lang="fr">La tribu Monchhichi : Le gâteau dormeur</title>
    	<desc lang="fr">Kiki est une peluche de taille variable représentant un petit singe avec une tête ronde et dure, une tétine à la main, et qui connut un succès international dans les années 1980.ŠKiki est d'origine japonaise, et s'appelle au Japon Monchhichi. Il a été créé par K¶ichi Sekiguchi afin d'inculquer le respect et l'amour aux jeunes enfants.</desc>
    </programme>
    <programme channel="3.dvb.guide" start="20181103065400 +0000" stop="20181103070600 +0000">
     	<title lang="fr">Pyjamasques : Yoyo et le canon rétrécisseur</title>
    </programme>
    <programme channel="3.dvb.guide" start="20181103070600 +0000" stop="20181103071800 +0000">
     	<title lang="fr">Pyjamasques : Gluglu sauve Noël</title>
    ...
    </programme>
    </tv>
    Voici le code que j'utilise mais qui ne fonctionne à 100%
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
    $st="sub-title";
    if (file_exists('out.xml')) {
        $xml = simplexml_load_file('out.xml');
     
    		foreach($xml->children() as $books ) {
     
    			echo $books->programme['channel'];
    			echo "<br>"; 
    			echo $books->programme['start'];
    			echo "<br>";
    			echo $books->programme['stop'];
    			echo "<br>";
    			echo $books->title['lang'];
    			echo "<br>"; 
    			echo $books->title;
    			echo "<br>"; 
    			echo $books->$st['lang'];
    			echo "<br>"; 
    			echo $books->$st;
    			echo "<br>"; 
    			echo $books->desc['lang'];
    			echo "<br>"; 
    			echo $books->desc;
    			echo "<br>"; 
     
    		} 
     
    } else {
        exit('Echec lors de l\'ouverture du fichier test.xml.');
    }
     
    ?>
    Il me manque les attributs de "programme" (programme['channel'];, programme['start']; et programme['stop']; le reste apparait comme voulu.

    Merci de votre aide

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    "Gluglu sauve Noël": J'ai hâte de le voir!

    Tes problèmes viennent du fait que tu as copié/collé un code et que tu as essayé de l'adapté à ton cas de figure sans vraiment te l'approprier. Un simple renommage des variables pour coller à ton projet et tu aurais trouvé tout de suite où était le problème (les items de ta boucle que tu as appelés $books correspondent déjà aux balises programme, donc écrire $books->programme ou $programme->programme n'a pas de sens):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $filepath = 'out.xml';
     
    if ( !file_exists($filepath) )
        exit("$filepath not found!");
     
    $nl = '<br>'; // PHP_EOL;
     
    $sxe = simplexml_load_file($filepath);
     
    foreach ($sxe->children() as $programme) {
        echo 'channel: ', $programme['channel'], $nl, 
             'start: ', $programme['start'], $nl,
             'stop: ', $programme['stop'], $nl,
             'title lang: ', $programme->title['lang'], $nl, 
             'title: ', $programme->title, $nl,
             'subtitle lang: ', $programme->{'sub-title'}['lang'], $nl,
             'subtitle: ', $programme->{'sub-title'}, $nl,
             'desc land: ', $programme->desc['lang'], $nl,
             'desc: ', $programme->desc, "$nl$nl###$nl$nl";
    }
    Quand tu te retrouves coincé avec simpleXML (ou n'importe quoi d'autre d'ailleurs), un simple var_dump t'aidera à voir où se trouve ton erreur. C'est la base du débogage.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 210
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par CosmoKnacki Voir le message
    Tes problèmes viennent du fait que tu as copié/collé un code et que tu as essayé de l'adapté à ton cas de figure sans vraiment te l'approprier. .
    J'ai été démasqué :-)

    Merci pour ton aide et bon WE

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/07/2012, 14h53
  2. [SimpleXML] Récupération d'un attribut mobile dans un fichier XML
    Par ipfix31 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/04/2010, 08h55
  3. [SimpleXML] Récupération données flux xml
    Par antitrust56 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/11/2007, 14h08
  4. [SimpleXML] Récupération données de XML vers une table MySQL
    Par emmma dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 29/06/2007, 18h28
  5. [SimpleXML] Récupération des données XML
    Par squalito dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/05/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo