Parsear XML desde PHP sin archivo
3 seguidores
Buenas tardes, tengo un problema, llevo un par de dias buscando información y la cosa no parece dificil, el problema es que todos los ejemplos que encuentro parsean el xml desde un archivo y yo no puedo ya que el servidor con el que trabajo me devuelve ( si hago la peticion desde explorer ) el archivo en el explorer.
Mi pregunta es que si hay alguna manera de hacer la peticion al servidor y guardar el resultado, que es XML, en una variable y apartir de la variable parsear el xml.
Muchas gracias y siento el rollo...
dagi3d
simplexml_load_file puede cargar directamente desde una url:
http://es.php.net/simplexml_load_file
recomendación, mirarse primero las funciones del manual :P
uoah
Muchas gracias, la verdad es que ayer ya me lei la respuesta de dagi3d y me pareció una buena soluciona ( ahora falta probarla ) pero esperaba a ver si tu me dabas una distinta pero viendo que coincidis pues ya lo probare.
Por otro lado, lo llamar a la ruta (http://www.servidor.es/cgi-vel/homero/xbuscar-libros.pro?autor=jose) desde php como lo hariais?
muchas gracias.
zigotica
ok, ahora leete la respuesta de dagi3d :)
uoah
Buenos dias,
A ver ahora que tengo un hueco os paso los ejemplos que os dije ayer.
El servidor al que le hago la petición se la hago de la siguiente maera ( desde el navegador )
http://www.servidor.es/cgi-vel/homero/xbuscar-libros.pro?autor=jose
esto me devuelve un xml que en el navegador queda de la siguiente manera:
1 1632 10 16316 ]]> 978-84-7215-179-6 9788472151796 0.30 0 2 0 618 0 0 0 0 No No 0 0 0 978-84-7215-201-4 9788472152014 0.90 0 0 0 314 0 0 0 0 No No 0 0 0 978-84-7215-113-0
y si miro el codigo fuente de la pagina veo el xml ( solo he puesto una parte porque es bastante mas largo ):
<Libro>
<isbn>987-84-7215-179-6</isbn>
<ean>9788472151796</ean>
<titulo><CDATA></titulo>
<precio>0.30</precio>
<autores>
etc...
ahora, las dudas que tengo son:
Como puedo hacer la llamada ( xbuscar-libros.pro?autor=jose ) desde php?
Y la pregunta de ayer, una vez realizada la llamada desde php, el resultado que me devuelve, ( el xml ) ponerlo dentro de una variable para parsearlo.
Muchas gracias y espero haberme explicado mejor.
uoah
jajaa
hecho, mañana pongo un ejemplo y gracias.
zigotica
sinceramente no he entendido nada, a ver si mañana nos puedes poner un ejemplo mas claro
uoah
Perdona, siento si no me he explicado demasiado bien, jeje pero es que es laprimera vez que tengo que hacer esto.
A ver, tengo que hacer una pagina web en php sin base de datos y sin nada, ya que el servidor donde hay los datos te los devuelve en xml, (ahora no te puedo poner un ejemplo de como hago la peticion porque no lo tengo aqui pero mañana si )
Me explico, en la barra de direcciones pones la direccion del servidor le pasas la pagina y lo que quieres que te muestre ( pongamos todos los libros de tal autor ) y entonces ves el resultado en el navegador ( no lo guarda en archivo ni nada, se queda en memoria ) , y si miras el codigo fuente ves la estructura xml.
entonces mi problema es que necesito parsear ese resultado xml desde php, pero el servidor me muestra el resultado y todos los ejemplos que tengo son para parsear a partir de un archivo xml fisico.
el segundo problema que tengo ahora, es lo que tu has dicho, que la peticion no la tengo que hacer desde el explorer si no desde php tambien.
Siento no explicarme muy bien, espero que me puedas ayudar..
gracias.
dagi3d
suponiendo que tengas php5: http://es.php.net/manual/en/function.simplexml-load-string.php
zigotica
pero la peticion no la tienes que hacer desde el explorer sino desde un comando fopen de php, no? explicate un poco mejor