2009-05-30 6 views
1

Ceci est ma première question :). J'écris une petite application twitter en PHP qui envoie un message à tous vos abonnés. Ce que j'essaie de faire maintenant, c'est d'obtenir la liste des abonnés. Donc, à travers Twitter API et obtenir tous les noms d'utilisateur, mais pour une raison quelconque, cette erreur d'analyse apparaît. Im nouveau à PHP (mais pas tellement à la programmation), j'ai commencé à l'apprendre hier alors s'il vous plaît être facile sur moi;).Comment puis-je corriger cette erreur d'analyse PHP XML?

Voici le code:

$t= new twitter(); 
$t->username= $_GET["username"]; 
$t->password= $_GET["password"]; 
$fi = $t->followers(); 
    $xml[$page] = new SimpleXMLElement($fi[2]); 
    $user1count=0; 
    while(isset($xml[$page]->user[0])){ 
      foreach ($xml[$page]->user as $user) { 
      $userdet[(string)$user->screen_name]=array(’screen_name’=> (string)$user->screen_name, ‘location’=>(string)$user->location, ‘description’=>(string)$user-> description, ‘profile_image_url’=> (string)$user-> profile_image_url, ‘url’=>(string)$user-> url, ‘name’=>(string)$user->name); 
      $user1details[$user1count]= (string)$user->screen_name; 
      $user1count++; 
      } 
      $page++; 
      $fi=getfilecontents($friendsurl.$username1."xml?page".$page); 
      if($fi[0]===false){ 
       echo ("Error :".$fi[1]); 
       $err=new SimpleXMLElement($fi[2]); 
       echo " ".$err->error." "; 
       // echo ““; 
       die(); 
      } 
     $xml[$page] = new SimpleXMLElement($fi[2]); 
    } 

Et l'erreur dit:

Erreur fatale: Uncaught exception 'Exception' message 'chaîne ne peut pas être analysé comme XML' dans/Applications/XAMPP/xamppfiles/htdocs/scripts/dmsend.php: 125 Pile de trace: # 0 /Applications/XAMPP/xamppfiles/htdocs/scripts/dmsend.php(125): SimpleXMLElement -> __ construct ('') # 1 {main} lancé/Applications/XAMPP/xamppfiles/htdocs/scripts/dmsend.php à la ligne 125

Merci! :)

Répondre

5

Il semble que $ fi [2] ne soit pas une chaîne XML valide. Je ne suis pas familier à 100% avec l'API twitter, mais je ferais un var_dump ($ fi) et j'évaluerais ce qui est retourné. De là, vous devriez être capable de comprendre ce qui se passe.

+0

personnellement, je suis un fan de 'echo «

".var_export($fi[2],true)."
»,' comme il est juste beaucoup plus facile à lire –

+1

habituellement je suis un fan de echo «

'; print_r($var); echo '
»; Mais je var_dump est plus facile pour un débutant. – mote

+0

Il a montré Null alors j'ai compris que c'était l'API de Twitter qui exigeait l'authentification. Merci! – user114802

Questions connexes