2009-11-08 8 views
0

Voici mon code PHPSimpleXMLElement

$xml= new SimpleXmlElement($rawxml); 
    foreach($xml->children()->children() AS $key){ 
     $id = $xml->{"id"}; 
     $name = $xml->{"screen_name"}; 
     $profimg = $xml->{"profile_image_url"}; 
     echo "$id, $name, $profimg"; 
    } 
$next = $xml->{"next_link"}; 
echo "index.php?".$next; 

Voici la structure de mon xml

<?xml version="1.0" encoding="UTF-8"?> 
    <users_list> 
     <users type="array"> 
      <user> 
       <id>44444</id> 
       <screen_name>Some Name</screen_name> 
       <profile_image_url>http://www.website.com/picture.jpg</profile_image_url> 
      </user> 
      <user> 
       <id>555</id> 
       <screen_name>Bob</screen_name> 
       <profile_image_url>http://www.website.com/picture2.jpg</profile_image_url> 
      </user> 
      <user> 
       <id>666666</id> 
       <screen_name>Frank</screen_name> 
       <profile_image_url>http://www.website.com/picture3.jpg</profile_image_url> 
      </user> 
     </users> 
     <next_link>44444</next_link> 
    </users_list> 

Im essayant d'affecter les valeurs du champ à des variables, puis de les faire écho. Puis en bas écho le lien suivant.

Je ne reçois aucune erreur, mais il montre juste le premier champ encore et encore, et ne produit pas le lien suivant.

+0

C'est le XML qui Im essayant de gérer. http://twitter.com/statuses/followers/barackobama.xml?cursor=-1 – mrpatg

+0

Est-ce moi ou vous avez posté cette question 3 fois avec des formulations différentes? –

Répondre

3

Vous utilisez $key dans l'expression foreach mais $xml dans le corps foreach.

Je préfère également une expression XPath plutôt que vos enfants des enfants de la racine chemin:

foreach ($xml->xpath('/users_list/users/user') as $user) { 
    $id = $user->id; 
    $name = $user->screen_name; 
    $profimg = $user->profile_image_url; 
    echo "$id, $name, $profimg"; 
} 
+0

cela renvoie pas d'erreurs, mais pas de données, tout simplement vide. – mrpatg

+2

@Patrick: Eh bien, ça marche pour moi. Avez-vous essayé mon code en remplacement du vôtre ou en plus du vôtre? – Gumbo

+0

im en utilisant comme substitution – mrpatg

Questions connexes