Ir para conteúdo
Fórum Script Brasil
  • 0

Armazenando dados xml em variaveis:


Zanoty

Pergunta

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!

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...