Foros del Web » Programando para Internet » PHP »

XML + PHP [me estoy volviendo loco]

Estas en el tema de XML + PHP [me estoy volviendo loco] en el foro de PHP en Foros del Web. Gente, tengo un XML de esta estructura Código PHP: <?xml version = "1.0"  encoding = "UTF-8"  ?>   <data> <row id="1"> <statsdate>2005-11-14</statsdate>  <casino>delrio</casino>  <profileid>defaultdl</profileid>  <bannerid>defaultdl</bannerid>  <source>-</source>  <realimps>0</realimps>  ...
  #1 (permalink)  
Antiguo 14/11/2005, 19:46
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 13 años, 8 meses
Puntos: 0
XML + PHP [me estoy volviendo loco]

Gente, tengo un XML de esta estructura

Código PHP:
<?xml version="1.0" encoding="UTF-8" ?> 
<data>
<row id="1">
<statsdate>2005-11-14</statsdate> 
<casino>delrio</casino> 
<profileid>defaultdl</profileid> 
<bannerid>defaultdl</bannerid> 
<source>-</source> 
<realimps>0</realimps> 
<realclicks>1</realclicks> 
<realdownloads>0</realdownloads> 
<realplayers>0</realplayers> 
<fdcount>0</fdcount> 
<pokerfdcount>0</pokerfdcount> 
</row>
<row id="2">
<statsdate>2005-11-14</statsdate> 
<casino>delrio</casino> 
<profileid>pjbanner</profileid> 
<bannerid>-</bannerid> 
<source>-</source> 
<realimps>0</realimps> 
<realclicks>1</realclicks> 
<realdownloads>1</realdownloads> 
<realplayers>0</realplayers> 
<fdcount>0</fdcount> 
<pokerfdcount>0</pokerfdcount> 
</row>
</data>

necesito parsearlo en PHP para usarlo para hacer una estadistica de clicks, etc...

tambien necesitaria ingresarlo en una BD...


por lo que lo necesitaria pasarlo a varaibles o a un array...


ya probe bastantes codigos que andan por la web.. un par de classes.. y leyendo el php.net/xml, pero por una razon u otra terminan no andando..



si alguien sabe, quiere o tiene el codigo, me ayuda?


saludos y gracias :)
  #2 (permalink)  
Antiguo 15/11/2005, 09:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Como bien sabes, "código" hay mucho por la red .. aquí podríamos poner más código que tal vez te funcione o no ..

Sería mejor que te decidas tu mismo por alguno de los "códigos" que has probado y por A o B motivo no te han llegado a funcionar. Tal vez sea algún problema más de fondo tipo: falta de alguna extensión para gestionar XML .. o alguna otra cosa.

Indica el código que usas, lo que has intentado hacer y el error o lo que no hace correctamente. Creo que con eso te irá mejor.

Un saludo,
  #3 (permalink)  
Antiguo 15/11/2005, 12:37
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Y necesariamente que versión de php estás usando, ya que hay funciones nativas en php que facilitan la vida en estos casos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 15/11/2005, 17:46
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 13 años, 8 meses
Puntos: 0
php4 uso..


en un rato posteo el codigo q tengo... saludos y gracias!!
  #5 (permalink)  
Antiguo 16/11/2005, 05:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Debes confirmar EXACTAMENTE que versiónde PHP que usas!. En PHP es muyyy importante las versiones, no todas las funciones están disponibles desde todas las versiones (por no decir que en el tema concreo XML ha tenido cambios en la forma de trabajar de unas versiones a otras).

Un saludo,
  #6 (permalink)  
Antiguo 17/11/2005, 05:01
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 13 años, 8 meses
Puntos: 0
aqui el codigo

Código PHP:
$a file("URL DEL XML"); 
$b implode(""$a); 

$xml xml_parser_create(); 
xml_parser_set_option($xmlXML_OPTION_CASE_FOLDINGfalse); 
xml_parse_into_struct($xml$b$v); 
xml_parser_free($xml); 


for(
$i=0$i<count($v); $i++){ 
   if(
$v[$i][tag] == "statsdate"){ echo "Statsdate: " $v[$i][value] . "<br>\n"; }
   if(
$v[$i][tag] == "casino") echo "Casino: " $v[$i][value] . "<br>\n"
   if(
$v[$i][tag] == "realclicks") echo "realclicks: " $v[$i][value] . "<br>\n"
   if(
$v[$i][tag] == "fdcount") echo "Fdcount: " $v[$i][value] . "<br><br>\n"

hasta ahi todo bien... me da un resultado asi


Cita:
Statsdate: 2005-08-13
Casino: tropez
realclicks: 1
Fdcount: 0

pero mi problema con este codigo es si utilizo el FOR para generar <tr> y que me haga una tabla con los resultados (por ejemplo) genera muchos mas <tr> de los que deberia y se descajeta todo y no se porque...


esta bien lo que hago?



saludos !!
  #7 (permalink)  
Antiguo 17/11/2005, 05:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, .. entonces tu problema no es con XML pues ya lo "parseas" correctamente .. el problema que tienes es como componer "HTML" de la forma que a ti te interesa.

Podrías indicar los intentos completos de lo que has hecho ya (con eso "<td>" que comentas que no vemos en tu ejemplo) ..

Un saludo,
  #8 (permalink)  
Antiguo 22/11/2005, 22:22
 
Fecha de Ingreso: marzo-2004
Mensajes: 44
Antigüedad: 13 años, 8 meses
Puntos: 0
claro...

a lo que voy es a si hay alguna manera mas "ortodoxa" si se quiere de trabajar en XML y PHP..

de esta forma yo muestro los resultados en un HTML.. hasta ahi vamos bien.. quizas metiendo un poco mas de mano hasta quizas logre lo que busco.. pero me parece (por simple olfato) que no estoy trabajando de la manera mas optima.. y que quizas hay algo mas facil..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:03.