Jump to content


Photo

Amarzenar Dados Xml Em Variaveis Php


  • Faça o login para participar
2 replies to this topic

#1 zanoty

zanoty

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 02/09/2009, 14:45

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!

#2 viniciusweb

viniciusweb

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

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 zanoty

zanoty

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

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!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq