begin process at 2012 05 31 15:33:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

SimpleXML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SimpleXML

dimanche 31 janvier 2010 à 01:45:09 | SimpleXML

fabienfs

Membre Club Administrateur CodeS-SourceS

Bonsoir,

Je débute avec SimpleXML et j'ai du mal à lire la syntaxe de mon XML.

Voici mon XML :
Code XML :
<pressplay> 
	<content>PLAYLIST</content> 
	<datas> 
		<items channel_id="1" date="31/01/2010" generated="31/01/2010 00:19"> 
			<item uid="1"> 
				<hour>01:05:01</hour> 
				<id objectid="116375" mediaid="208702" type="SONG"/> 
				<cover objectid="115040" mediaid="207579" url=""/> 
				<title>Mon titre</title> 
				<artist>Artiste</artist> 
				<album>Album</album> 

			</item> 
			<item uid="2"> 
				<hour>01:05:09</hour> 
				<id objectid="118325" mediaid="210683" type="SONG"/> 
				<cover objectid="118324" mediaid="210682" url=""/> 
				<title>Titre</title> 
				<artist>Artiste</artist> 
				<album>Album</album>
			</item>
		</items>
	</datas>
<pressplay>


J'essaye donc en PHP de sortir l'artist de ce XML en faisant :

Code PHP :
$classe = simplexml_load_file("playlist.xml");
foreach ($classe->pressplay->datas->items->item as $style) { 
 
    print "Titre : {$style->title} <br />\n"; 
    print "Artiste : {$style->artist} <br />\n"; 

  } 


Mais sans succès... J'ai une page vide. Avez-vous une idée d'ou ca coince ?

Merci pour vos pistes :)

A++

Fabien Schenkels (alias fabienfs)
dimanche 31 janvier 2010 à 02:11:11 | Re : SimpleXML

neigedhiver

Réponse acceptée !
Salut,

Essaie sans pressplay :

Code PHP :
foreach ($classe->datas->items->item as $style) {


Il me semble bien que SXE itère directement dans l'élément racine, sans qu'il soit nécessaire de le spécifier.

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
dimanche 31 janvier 2010 à 02:14:25 | Re : SimpleXML

neigedhiver

Réponse acceptée !

Ah... Autre chose... Si items contient plusieurs items, il faut accéder à chaque en itérant dessus... Ou alors, spécifier clairement auquel tu veux accéder.

Autrement dit, d'abord tu itères sur les items, ensuite sur les éléments de chaque item.
Code PHP :
foreach ($classe->pressplay->datas->items as $item) {


Bref, y'a les deux trucs : ne pas spécifier l'élément racine parce que SXE itère dedans implicitement, et ne pas spécifier les éléments que tu souhaites avoir dans ton itération, puisque ce sont les éléments récupérés. J'espère que je suis clair, c'est pas gagné...

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
dimanche 31 janvier 2010 à 02:15:17 | Re : SimpleXML

fabienfs

Membre Club Administrateur CodeS-SourceS
Hello,

Ah bah oui en effet ca fonctionne !

Voici mon code actuel :

Code PHP :
foreach ($classe->datas->items->item as $style) { 
 
    print "Titre : {$style->title} <br />\n"; 
    print "Auteur : {$style->artist} <br />\n";
    print "Type : {$style->object->type} <hr />\n"; 

  } 


Et comment faire si je veux récupérer la valeur SONG dans <object type=""> ?

Encore merci

A++

Fabien Schenkels (alias fabienfs)
dimanche 31 janvier 2010 à 02:31:39 | Re : SimpleXML

fabienfs

Membre Club Administrateur CodeS-SourceS
Oki j'ai trouvé

Code PHP :
print "Type : {$item->id['type']} <hr />\n"; 


Merci beaucoup pour ton aide !

Bonne soirée,

A++

Fabien Schenkels (alias fabienfs)
dimanche 31 janvier 2010 à 02:37:24 | Re : SimpleXML

neigedhiver

Oui, en réalité, $item->id['type'] est un objet SimpleXMLElement. Il faut le convertir en chaîne de caractère pour pouvoir le manipuler en tant que tel (ce qui est fait implicitement lors d'un echo ou print).

AU fait, me suis gourré, il faut bien préciser le nom des éléments qu'on veut dans l'itération :
Code PHP :
foreach ($classe->pressplay->datas->items->item as $item) {


--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)


Cette discussion est classée dans : code, titre, xml, artiste, simplexml


Répondre à ce message

Sujets en rapport avec ce message

probleme avec xml : à l'aide!! [ par jed35 ] bonjour,j'explique mon probleme :j'ai le code suivant en php$graph_title = 'Titre de mon diagramme';$graph_desc = 'mon super graphe';$graph_data = arr Parser XML [ par jpbod ] Bonjour, Pour mes sites j'utilise des parsers RSS pour afficher les news d'autres sites, seulement sur certains sites le nombres de news varie sans c Inscription entre balises xml via php !? [ par Adrien4 ] Bonjour,J'ai un fichier qui envoie les données d'un formulaire php vers un fichier xml,Mais lors de chaque inscription, j'aimerais que les information Parseur XML (beaucoup trop gourmant !!!) [ par lcmartin ] Bonjour,Voila j'avais pris un parseur XMl pour créer une application Web...(cf: http://engardenet.ilix.net/micv5/parseur_xml.txt pour le code)C'est po Erreur requête pour MIN [ par Hakunamatata67 ] BonjourVoici mon problème : j'ai crée un formulaire où lorsqu'un utilisateur entre un artiste et/ou un titre, le requête affiche dans un tableau la XML SAX organisation d'un menu [ par jnbdzjnbdz ] Bonjour, jessais depuis quelque semaines de faire un systeme avec xml pour mon menu affiche de la facon définis par le code xml voici ce que sais supo php xml bdd [ par agatha55 ] Bonjour, J'ai un souci et j'espère que quelqu'un saura m'aider. Je stocke des info XML dans une BDD via mysql. Mon souci se situe lorsque je dois fai Editer enregistrement via formulaire [ par DjChat ] Bonjour a tous, j'ai fait un formulaire ou on peut editer un enregistrement qui est dans un BDD MySQL. On choisi l'enregistrement via une liste dero générer un fichier xml [ par pandouta08 ] bonjour je voudrais savoir le code de génération d'un fichier xml à partir d'un code php sans utiliser une base de donnée .pouvez vous m'aidez s'il vo EXTRAIRE XML de la base mysql [ par mastraze ] Bonjour tout le monde,J ai trouvé ce bout de code en php qui permet de générer un fichier xml à partir d'une table MySQL . ***************************


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales