2009-11-08 4 views
0

다음 코드를 사용하여 표시된 XML에서 모든 노드를 출력합니다. 예기치 않은 결과가있는 simplexml + foreach + twitter

 $cursor = "?cursor=-1" 
     $xml= new SimpleXmlElement($to->OAuthRequest('http://twitter.com/statuses/followers.xml?$cursor')); 
     foreach ($xml->xpath('/users_list/users/user') as $user) { 
      $id = $user->id; 
      $names .= $user->screen_name; 
      $profimg = $user->profile_image_url; 
     } 
     $next = $user->next_link; 
     $prev = $user->prev_link; 
     $pusharray = array("$names", "$next", "$prev");  

모든

내가 다시 Heres는 내가 잘못하고 있어요 무엇 XML
http://twitter.com/statuses/followers/barakobama.xml?cursor=-1

의 샘플 Array ([0] => [1] => [2] =>)

입니다거야? 모두가 제안한 모든 것은 효과가 없습니다! 임마.

$id = $user['id']; 

또는

$id = $user->attributes()->id; 

basic usage of SimpleXML를 참조하십시오 중 하나

+0

그리고 당신은 무엇을 기대 하는가? – Gumbo

+0

내 목표는 데이터를 얻는 것입니다. – mrpatg

+0

@Patrick : 정확히 어떤 데이터입니까? – Gumbo

답변

5

당신이 필요합니다. 당신이하는 일은 속성을 쿼리하는 유효한 방법이 아닙니다.

+0

은 아무 것도 반환하지 않습니다. 둘 다 노력했다. – mrpatg

+0

소스 XML에 _no_ "id"속성이 있으므로 아무 것도 반환하지 않습니다. 그 대답을 왜 받아들 였는지 아무 생각없이 무작위로 보인다. –

+0

그것은 문제를 해결하기 때문에 속성을 잘못된 방식으로 쿼리합니다. – cletus

1
$users_list = simplexml_load_file('http://twitter.com/statuses/followers/barakobama.xml?cursor=-1'); 

foreach ($users_list->users->user as $user) 
{ 
    echo $user->id, ' ', $user->screen_name, ' ', $user->profile_image_url, "<br />\n"; 
} 

echo 'prev: ', $users_list->previous_cursor, ' - next: ', $users_list->next_cursor; 

가, 그 XML에는 next_link 또는 prev_link 없습니다 당신이 얘기하는 가정에 대한 previous_cursornext_cursor