Gostaria de saber como armazeno os seguintes dados xml desse link aqui:
http://www.managerzo...username=zanoty
em variaveis no php.
Esses dados são atualizados diariamente queria saber um script para armazenalos em variaveis no php p/ eu enviar para db e/ou manipulalos.
Obrigado!

Amarzenar Dados Xml Em Variaveis Php
Started By zanoty, 02/09/2009, 14:45
2 replies to this topic
#1
Posted 02/09/2009, 14:45
#2
Posted 02/09/2009, 15:25
O link está quebrado, mas supondo que seja um arquivo XML, você deve usar uma das extensões para manipulação de XML do PHP: http://www.php.net/m...BR/refs.xml.php
#3
Posted 02/09/2009, 17:54
Ta aki o link funcional!
http://www.managerzo...username=zanoty
Refasendo a pergunta!
Armazenando dados xml em variaveis:
1º - Tenho o seguinte xml que esta armazenado na web:
<ManagerZone_UserData>
<UserData username="zanoty" userId="4661185" countryShortname="BR" userImage="http://managerzone.c...e&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.managerzo...eam_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.c...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!
http://www.managerzo...username=zanoty
Refasendo a pergunta!
Armazenando dados xml em variaveis:
1º - Tenho o seguinte xml que esta armazenado na web:
<ManagerZone_UserData>
<UserData username="zanoty" userId="4661185" countryShortname="BR" userImage="http://managerzone.c...e&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.managerzo...eam_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.c...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!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)