Compter le nombre de noeuds dans un xml

Résolu
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011 - 6 déc. 2006 à 11:04
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre 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 .

20 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 déc. 2006 à 11:14
Hello,

via simpleXML ou DOM, par exemple.
count ($oXml -> item -> children()); pour simpleXML.
1
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 11:16
merci merci c'est super ca marche . ! :-)
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 11:25
euh en fait je me suis emballé ... cela me retourne 1 tout le temps ...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 déc. 2006 à 12:01
Fais voir ton code, et la partie du xml incriminée.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 12:05
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
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 12:07
le xml est de cette nature

<channel>

<titre> jkjkdsjkhdjkhsk</titre>


<titre> jkjkdsjkhdjkhsk</titre>



<titre> jkjkdsjkhdjkhsk</titre>


</channel>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 déc. 2006 à 13:15
Pardon, j'avais mal percuté la question :
count ($rss -> children());
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 14:39
bon je dois etre mauvais ... ca me donne toujours 1 .... je sais plus quoi faire la ...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 déc. 2006 à 15:13
Quelle est la racine de ton flux xml ?
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 15:18
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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 déc. 2006 à 15:57
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.
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 16:57
bon je vais pas continuer a t'embeter, chez moi ca donne toujours 1
je vais essayer de chercher .
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 déc. 2006 à 17:08
$oRss -> rss -> channel -> children ();
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 17:30
bon bah ca, ca plante la page

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

je suis perdu là ...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 déc. 2006 à 18:06
Déjà, moi, ton flux plante avec simplexml...je ne peux pas le lire. Manque la definition à priori.
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
6 déc. 2006 à 18:17
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 ....
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 déc. 2006 à 08:14
Ah, je réessayerai avec ce flux-ci alors.
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
7 déc. 2006 à 11:41
merci beaucoup c'est tres sympa de ta part
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 déc. 2006 à 14:13
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
?>
0
cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011
7 déc. 2006 à 15:46
merci beaucoup ca marche super, merci pour le temps que tu y as passé et pour la personnalisation :-)

un grand grand merci
0
Rejoignez-nous