Zanoty Postado Setembro 2, 2009 Denunciar Share Postado Setembro 2, 2009 1º - Tenho o seguinte xml que esta armazenado na web:<ManagerZone_UserData> <UserData username="zanoty" userId="4661185" countryShortname="BR" userImage="http://managerzone.com/dynimg/pic.php?type=profile&uid=4661185"> <Team sport="soccer" teamName="ZANOTY FC" nameShort="ZNOT" teamId="278839" seriesName="div7.719" seriesId="27998" startDate="2008-10-26 20:29:55" sponsor="Placar" rankPos="137788" rankPoints="843"/> <Team sport="hockey" teamName="" nameShort="" teamId="" seriesName="" seriesId="" startDate="" sponsor="" rankPos="" rankPoints=""/> </UserData> </ManagerZone_UserData> 2º - Uso o simplexml_load_file para pegar esse dados e transformalos em arrays: $url = "http://www.managerzone.com/xml/team_playerlist.php?sport_id=1&team_id=278839"; $XML = simplexml_load_file( "$url"); print_r($XML); 3º O resulato é esse: SimpleXMLElement Object ( [userData]=> SimpleXMLElement Object ( [@attributes] => Array ( [username] => zanoty [userId] => 4661185 [countryShortname] => BR [userImage] => http://managerzone.com/dynimg/pic.php?type...amp;uid=4661185 ) [Team] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [sport] => soccer [teamName] => ZANOTY FC [nameShort] => ZNOT [teamId] => 278839 [seriesName] => div7.719 [seriesId] => 27998 [startDate] => 2008-10-26 20:29:55 [sponsor] => Placar [rankPos] => 137788 [rankPoints] => 843 ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [sport] => hockey [teamName] => [nameShort] => [teamId] => [seriesName] => [seriesId] => [startDate] => [sponsor] => [rankPos] => [rankPoints] => ) ) ) ) ) 4º Uso o foreach para armazer as arrays simples em variaveis: foreach($XML->UserData as $s) { $var1 = $s['username']; $var2 = $s['userId']; } echo "imprimo $var1 "; echo "imprimo $var2 "; 5º Problema! Como eu armazeno o [Team] pelo foreach já que ele tem o Array [0] e o [1]. se fiser assim: foreach($s->Team as $f) { $var1 = $f['teamId']; $var2 = $f['teamName']; }Ele só vai pegar os dados da ultima array. Obrigado! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Josemar Design Postado Setembro 3, 2009 Denunciar Share Postado Setembro 3, 2009 Cara, uma solução rapida seria usar um for.Ex:for($i = 0; $i < count($s->Team); $i++){ foreach($s->Team[$i]as $f) { $var1 = $f['teamId']; $var2 = $f['teamName']; } echo $var1; echo $var2;}Testa ai!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Zanoty
1º - Tenho o seguinte xml que esta armazenado na web:
2º - Uso o simplexml_load_file para pegar esse dados e transformalos em arrays: 3º O resulato é esse: 4º Uso o foreach para armazer as arrays simples em variaveis: echo "imprimo $var1 "; echo "imprimo $var2 "; 5º Problema! Como eu armazeno o [Team] pelo foreach já que ele tem o Array [0] e o [1]. se fiser assim:Ele só vai pegar os dados da ultima array.
Obrigado!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.