2011-10-07 3 views
0

저는 오래 전 Google이 XML 페이지에서 정보를 루프 아웃하는이 솔루션을 발견했습니다.Steam API gamestats에서 XML 데이터 가져 오기

$url = 'http://steamcommunity.com/id/ChetFaliszek/stats/L4D/?xml=1'; 
$achxml = simplexml_load_file($url); 
foreach ($achxml->playerstats->game as $ach) 
{ 
    $name = (string) $ach->NAME; 
    echo $name. "<br>"; 
} 

나는 코드 줄 트릭을 할 것이라고 생각하지만 정보 가져 오기 할 때 난 단지 오류를 다음 얻을 : Warning: Invalid argument supplied for foreach() in ...합니다. XML 페이지 (임의의 XML)에 대한 링크는 $ url 매개 변수에 있습니다.

이제 질문 : 어떻게이 코드가 작동하는지 확인할 수 있도록이 문제를 해결할 수 있습니까?

미리 감사드립니다.

+0

foreach는 할 수있는 올바른 인수를 제공합니다. 기본적으로 작동하지만 XML이 변경되면'-> playerstats-> game'이 더 이상 존재하지 않을 수 있습니다. foreach 줄 앞에'var_dump ($ achxml-> playerstats-> game);을 실행하고 질문에 결과를 추가하십시오. 이것은 약간의 통찰력을 줄 수 있습니다. – hakre

+0

감사! 루프는 내가 생각한대로 작동하지 않았다. 예를 들어주는 "태그"에서 값을 가져올 수는 없습니다. foreach-code는 이제'$ achxml-> achievements'입니다. 성취의 이미지를 얻기 위해 무엇을 입력해야합니까? – Erik

+0

Erik, ['simplexml' 매뉴얼 섹션에 몇 가지 기본 예제가 있습니다.] (http://php.net/manual/en/simplexml.examples-basic.php) 당신이 알고있는 것이 재미 있다고 생각합니다. – hakre

답변

0

이 문제를 해결하기 전에 한 가지 더 많은 문제가 있습니다. :) XML 페이지에있는 모든 업적을 어떻게 나열합니까?

시도 :

foreach ($achxml->achievements->achievement as $achievement) 
{ 
    echo $achievement->name, '(closed: ', (string) $achievement['closed'], ')'; 
} 
+0

감사! :) 그러나 단지'(closed :) '만 출력합니다. – Erik

+1

내 잘못으로,'foreach'에서'-> 업적'이 누락되었습니다. – hakre

+0

아주 좋습니다! 많은 감사 : D – Erik