Compter le nombre de noeuds dans un xml [Résolu]

Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
- - Dernière réponse : cs_loupile
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
- 7 déc. 2006 à 15:46
Bonjour,

voila dans un xml il y a des balises savez vous comment je peux faire pour compter le nombre d'item present dans un XML ?

merdi d'avance pour votre aide précieuse .
Afficher la suite 

Votre réponse

20 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
1
Merci
Hello,

via simpleXML ou DOM, par exemple.
count ($oXml -> item -> children()); pour simpleXML.

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
merci merci c'est super ca marche . ! :-)
Commenter la réponse de cs_loupile
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
euh en fait je me suis emballé ... cela me retourne 1 tout le temps ...
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Fais voir ton code, et la partie du xml incriminée.
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
alors voila mon code, $tag correspond à l'adresse url d'un flux xml
$nbre me retourne toujours 1

$rss = simplexml_load_file($tag);  
$image=$rss->channel->image->url;
$titre=$rss->channel->title;
$nbre= count ($rss -> item -> children());

j'ai essayé avec $nbre= count($rss -> channel -> item -> children()); aussi et ca ne marche pas non plus .

merci de ta patience
Commenter la réponse de cs_loupile
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
le xml est de cette nature

<channel>

<titre> jkjkdsjkhdjkhsk</titre>


<titre> jkjkdsjkhdjkhsk</titre>



<titre> jkjkdsjkhdjkhsk</titre>


</channel>
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Pardon, j'avais mal percuté la question :
count ($rss -> children());
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
bon je dois etre mauvais ... ca me donne toujours 1 .... je sais plus quoi faire la ...
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Quelle est la racine de ton flux xml ?
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
voici le xml type :

<rss version= "2.0">
-
    <channel>
<title>AROUND EUROPE</title>
<link>http://www.lespodcasters.com</link>
-
    <description>
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !
</description>
LES PODCASTERS.COM
<language>FR</language>
LES PODCASTERS.COM : AROUND EUROPE
<copyright>(C) LES PODCASTERS.COM</copyright>
Mon, 22 Jan 2006 21:30:00 GMT

-
   
-
    <title>
LES PODCASTERS.COM : AROUND EUROPE DU 22 JANVIER 2006
</title>
-
    <description>
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !
</description>
-
    <link>
http://www.lespodcasters.com/podcast/around/16012006.mp3
</link>
Mon, 22 Jan 2006 21:30:00 GMT

LES PODCASTERS.COM
-
   
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !

00:06:06

MUSIC NEWS EUROPE
-
   
LES PODCASTERS.COM
lewebmaster@lespodcasters.com

-
    <guid isPermaLink ="false">
http://www.lespodcasters.com/podcast/around/22012006.mp3
</guid>
<enclosure url= "http://www.lespodcasters.com/podcast/around/22012006.mp3" type="audio/mpeg"/>
<media:content url="http://www.lespodcasters.com/podcast/around/22012006.mp3" type="audio/mpeg"/>

-
   
-
    <title>
LES PODCASTERS.COM : AROUND EUROPE DU 16 JANVIER 2006
</title>
-
    <description>
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !
</description>
Mon, 16 Jan 2006 21:30:00 GMT

<link>http://www.lespodcasters.com/rss/aroundeurope.xml</link>
LES PODCASTERS.COM
-
   
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !

00:06:50

MUSIC NEWS EUROPE
-
   
LES PODCASTERS.COM
lewebmaster@lespodcasters.com

-
    <guid isPermaLink ="false">
http://www.lespodcasters.com/podcast/around/16012006.mp3
</guid>
<enclosure url= "http://www.lespodcasters.com/podcast/around/16012006.mp3" type="audio/mpeg"/>
<media:content url="http://www.lespodcasters.com/podcast/around/16012006.mp3" type="audio/mpeg"/>

-
   
-
    <title>
LES PODCASTERS.COM : AROUND EUROPE DU 09 JANVIER 2006
</title>
-
    <description>
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !
</description>
Mon, 09 Jan 2006 18:00:00 GMT

<link>http://www.lespodcasters.com/rss/aroundeurope.xml</link>
LES PODCASTERS.COM
-
   
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !

00:07:24

MUSIC NEWS EUROPE
-
   
LES PODCASTERS.COM
lewebmaster@lespodcasters.com

-
    <guid isPermaLink ="false">
http://www.lespodcasters.com/podcast/around/09012006.mp3
</guid>
<enclosure url= "http://www.lespodcasters.com/podcast/around/09012006.mp3" type="audio/mpeg"/>
<media:content url="http://www.lespodcasters.com/podcast/around/09012006.mp3" type="audio/mpeg"/>

-
   
<title>LES PODCASTERS.COM : AROUND EUROPE DU 19 DECEMBRE</title>
-
    <description>
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !
</description>
Mon, 19 Dec 2005 12:00:00 GMT

<link>http://www.lespodcasters.com/rss/aroundeurope.xml</link>
LES PODCASTERS.COM
-
   
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !

00:06:10

MUSIC NEWS EUROPE
-
   
LES PODCASTERS.COM
lewebmaster@lespodcasters.com

-
    <guid isPermaLink ="false">
http://www.lespodcasters.com/podcast/around/19122005.mp3
</guid>
<enclosure url= "http://www.lespodcasters.com/podcast/around/19122005.mp3" type="audio/mpeg"/>
<media:content url="http://www.lespodcasters.com/podcast/around/19122005.mp3" type="audio/mpeg"/>

-
   
<title>LES PODCASTERS.COM : AROUND EUROPE DU 12 DECEMBRE</title>
-
    <description>
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !
</description>
Mon, 12 Dec 2005 12:00:00 GMT

<link>http://www.lespodcasters.com/rss/aroundeurope.xml</link>
-
   
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !

LES PODCASTERS.COM
00:05:53

MUSIC NEWS EUROPE
-
   
LES PODCASTERS.COM
lewebmaster@lespodcasters.com

-
    <guid isPermaLink ="false">
http://www.lespodcasters.com/podcast/around/12122005.mp3
</guid>
<enclosure url= "http://www.lespodcasters.com/podcast/around/12122005.mp3" type="audio/mpeg"/>
<media:content url="http://www.lespodcasters.com/podcast/around/12122005.mp3" type="audio/mpeg"/>

-
   
<title>LES PODCASTERS.COM : AROUND EUROPE DU 05 DECEMBRE</title>
-
    <description>
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !
</description>
Mon, 05 Dec 2005 12:00:00 GMT

<link>http://www.lespodcasters.com/rss/aroundeurope.xml</link>
-
   
Toute l'actu musicale europeenne, ou que vous soyez, quand vous voulez !

00:04:15

MUSIC NEWS EUROPE
-
   
LES PODCASTERS.COM
lewebmaster@lespodcasters.com

-
    <guid isPermaLink ="false">
http://www.lespodcasters.com/podcast/around/06122005.mp3
</guid>
<enclosure url="http://www.lespodcasters.com/podcast/around/06122005.mp3" type="audio/mpeg"/>
<media:content url="http://www.lespodcasters.com/podcast/around/06122005.mp3" type="audio/mpeg"/>

</channel>
</rss>

merci beaucoup de ton aide
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Parce que ça :
<?php
$sXml = <<<XML
<?xml version="1.0" encoding="iso-8859-1" ?>
<channel>
   
        <titre> jkjkdsjkhdjkhsk</titre>
   
   
        <titre> jkjkdsjkhdjkhsk</titre>
   
   
        <titre> jkjkdsjkhdjkhsk</titre>
   
</channel>
XML;

$oRss = simplexml_load_string ($sXml);
echo count ($oRss -> children ());
?>

ça marche.
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
bon je vais pas continuer a t'embeter, chez moi ca donne toujours 1
je vais essayer de chercher .
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
$oRss -> rss -> channel -> children ();
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
bon bah ca, ca plante la page

$rss = simplexml_load_file($tag);
echo count ($rss -> rss -> channel -> children ());

je suis perdu là ...
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Déjà, moi, ton flux plante avec simplexml...je ne peux pas le lire. Manque la definition à priori.
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
tu peux le voir à cette adresse http://www.lespodcasters.com/rss/aroundeurope.xml

il fontionne ce flux, mais je me demande d'ou viennent les ? qui sont la ....
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Ah, je réessayerai avec ce flux-ci alors.
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
merci beaucoup c'est tres sympa de ta part
Commenter la réponse de cs_loupile
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
0
Merci
Hello,

donc

<?php
$sXml = file_get_contents ('http://www.lespodcasters.com/rss/aroundeurope.xml');
$oRss = simplexml_load_string ($sXml);
echo count ($oRss -> channel -> children ()); // affiche 12 : ce sont les enfants de channel
$oXpath = $oRss -> xpath ('channel/item'); // requête xpath pour trouver tous les éléments item sous channel
echo '
';
echo count ($oXpath); // agffiche 6
?>
Commenter la réponse de malalam
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Dernière intervention
7 avril 2011
0
Merci
merci beaucoup ca marche super, merci pour le temps que tu y as passé et pour la personnalisation :-)

un grand grand merci
Commenter la réponse de cs_loupile

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.