Foros del Web » Programando para Internet » PHP »

Leer XML dinamico con PHP

Estas en el tema de Leer XML dinamico con PHP en el foro de PHP en Foros del Web. Hola a todos! Me gustaría leer un XML generado dinamicamente por un servidor esterno por medio de PHP. -El XML que quiero leer es es ...
  #1 (permalink)  
Antiguo 03/08/2011, 10:08
 
Fecha de Ingreso: febrero-2011
Ubicación: España
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
Pregunta Leer XML dinamico con PHP

Hola a todos!
Me gustaría leer un XML generado dinamicamente por un servidor esterno por medio de PHP.

-El XML que quiero leer es es que se genera en esta URL (tiene una variable, el numero de la parada que en este caso es 2956):

https://servicios.emtmadrid.es:8443/geo/servicegeo.asmx/getArriveStop?idClient=WEB.PORTALMOVIL.OTROS&passK ey=0810DDE4-02FC-4C0E-A440-1BD171B397C8&idStop=2956&statistics=&cultureInfo=. xml

-la url genera algo parecido a esto:

Código XML:
Ver original
  1. <Arrives xmlns="">
  2.    <Arrive>
  3.      <IdStop>2956</IdStop>
  4.      <idLine>77</idLine>
  5.      <IsHead>True</IsHead>
  6.      <Destination>FIN DE SEMANA</Destination>
  7.      <IdBus>0000</IdBus>
  8.      <TimeLeftBus>412</TimeLeftBus>
  9.      <DistanceBus>1632</DistanceBus>
  10.      <PositionXBus>-1</PositionXBus>
  11.      <PositionYBus>-1</PositionYBus>
  12.      <PositionTypeBus>1</PositionTypeBus>
  13.    </Arrive>
  14. </Arrives>

-Yo he probado con el siguiente código sin éxito para obtener el tiempo de llegada (TimeLeftBus) y mostrarlo en pantalla:

Código PHP:
Ver original
  1. $data='https://servicios.emtmadrid.es:8443/geo/servicegeo.asmx/getArriveStop?idClient=WEB.PORTALMOVIL.OTROS&passKey=0810DDE4-02FC-4C0E-A440-1BD171B397C8&idStop=2956&statistics=&cultureInfo=.xml';
  2.  
  3. $xml = simplexml_load_string($data);
  4. foreach ($xml->Arrive as $Arrive)
  5.   echo $Arrive->TimeLeftBus.' ';


Como puedo hacerlo? Muchas gracias chicos!!

Un saludo.
  #2 (permalink)  
Antiguo 03/08/2011, 10:39
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: Leer XML dinamico con PHP

Código PHP:
Ver original
  1. <?php
  2. $x = new SimpleXMLElement($data, null, true);
  3.  foreach( $x->Arrive  as $Arrive  ) {
  4. $Time=$Arrive->TimeLeftBus;
  5. echo $Time."</br>";
  6.  
  7. }
  8. ?>

Pruebalo asi, con SimpleXml, siempre y cuando la version de php sea 5...Pruebalo y me cuenas
  #3 (permalink)  
Antiguo 03/08/2011, 10:56
 
Fecha de Ingreso: febrero-2011
Ubicación: España
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Leer XML dinamico con PHP

Muchas gracias Oscarbt!!
Funciono sin problemas. Eres un crack!!
  #4 (permalink)  
Antiguo 21/10/2012, 03:54
 
Fecha de Ingreso: septiembre-2011
Mensajes: 22
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Leer XML dinamico con PHP

Yo trato de leer el xml, y me funciona en localhost. Pero si almaceno el php en un host gratuito (eu5.org es el que uso) al ejecutarlo me sale el error:

"Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/vhosts/....
...SimpleXMLElement->__construct('https://servici...', 0, true) #1 {main} thrown in /home/vhosts/..."

¿Cómo puedo saber si el servicio de hosting me permite hacer peticiones a una página https? ¿Puede ser este el problema?

Gracias por su ayuda

Etiquetas: dinamico, xml
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 01:06.