Comunidad de diseño web y desarrollo en internet online

xml php

Citar            
MensajeEscrito el 06 Jul 2008 06:27 am
es muy probable que este medio tonto xD, pero tiene delito que despues de consultar 25 resultados de google solo haya obtenido el saber mostrarlo tal y como viene, si hablo del weather de yahoo es un rss que posteriormente quieres mostrar en tu web a tu modo los datos... por ello y tras indefinidas pruebas sin conseguir un misero avance en obtener los datos les pediria... bueno les comento...

yo ahora de las veces que probe obtengo de este modo el archivo

Código :

<?php

$ruta_fichero="http://xml.weather.yahoo.com/forecastrss?p=SPXX0012&u=c";

$contenido = "";
if($da = fopen($ruta_fichero,"r"))
{
while ($aux= fgets($da,1024))
{
$contenido.=$aux;
}
fclose($da);
}
else
{
echo "Error: no se ha podido leer el archivo <strong>$ruta_fichero</strong>";
} 


y de ahi no soy capaz de salir... se supone que eso ya genera el objeto xml y a partir de ahi deberia poder acceder a dato por dato del archivo, les agradeceria minimo darme una indicacion, tambin lei los topic de zis y de uno en el area de flash que trataban sobre el mismo tema y al cual contesto odin, pero no llegue a sacar nada que me diera indicios a avanzar...

espero me pueda ayudar

Por Theos

70 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Jul 2008 04:09 pm
No estoy seguro si te he entendido eso de que no eres capaz de salir, pero a mí me da la impresión de que es debido a que generas un ciclo infinito.

Si he entendido correctamente, en la línea:

Código :

while ($aux= fgets($da,1024))

siempre leerás el mismo contenido sin importar cuantas veces se repita el ciclo, y por lo tanto la condición siempre sera verdadera. Esto es porque fgets no 'recuerda' cual fue la última línea que leyó y siempre lee desde el principio del archivo.

Lo que te recomiendo es leer todo el archivo de una sola vez, utilizando la función filesize para saber la cantidad de caracteres a leer, de esta manera:

Código :

$contenido = fread( $da, filesize( $ruta_fichero ) );

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 06 Jul 2008 04:16 pm
ummm, no del todo.

mi duda es que una vez isado el metodo que sea para obtener el contenido del archivo xml, no soy capaz de obtener los valores de los diferentes tags para mostrarlos en el orden que me gustaria ><.

Por Theos

70 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Jul 2008 04:25 pm
Bueno, en ese caso fue mi error. Para poder obtener los valores de las etiquetas lo mejor es que utilices un manejador de XML como simple XML, teniendo ya el contenido del archivo puedes usar

Código :

$xml = simplexml_load_string( $contenido );


Para más información busca aquí

Por Odin

Claber

639 de clabLevel

2 tutoriales

Genero:Masculino   Premio_Secretos

El valle de las hamacas

firefox
Citar            
MensajeEscrito el 07 Jul 2008 03:58 am
te comento lo que me ocurrio.. al parecer esa funcion no solo te muestra el xml sino que tambien te hace etiquetas padre... como que simplifica no pudiendo llegar a todos los objetos... al igual que otro que es ... magpierss-0.72, de todos modos ahora lo pruebo y te informo en un ratito..., supongo que es simplemente la inexperiencia en xml... tambien voy a ver si hay algun libro de xml que pueda usar.

Por Theos

70 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.