Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Salgaw en 29 Octubre 2009, 18:46 pm



Título: Petición a API XML
Publicado por: Salgaw en 29 Octubre 2009, 18:46 pm
Conozco lo justito de PHP y estoy intentando enviar una petición a un API que me devuelve la respuesta en un xml.
No tengo claro por donde tirar pero buscando "creo" que deberia ser algo así (Corregidme).
No tengo opcion de modificar el php.ini ni instalar nada en el servidor.

No tengo problema para pasar las variables y crear la linea con todas las variable pero... no se como enviar la petición y luego recoger el XML.

....


$r = new HTTP_Request("http://www.servidor.com/variables");
$r->sendRequest();
$page = $r->getResponseBody();


Esto no me da ningún error ni nada por lo que entiendo que es correcto, pero necesito que alguien me guie si estoy utilizando las cosas bien y por donde tirar.

Gracias.



Título: Re: Petición a API XML
Publicado por: WHK en 29 Octubre 2009, 22:42 pm
Hola, algo asi?

Código
  1. <?php
  2. $contenido = file_get_contents('http://foro.elhacker.net/.xml.html;sa=news;type=rss');
  3. echo nl2br(htmlspecialchars($contenido, ENT_QUOTES));
  4. ?>


Título: Re: Petición a API XML
Publicado por: :ohk<any> en 29 Octubre 2009, 23:00 pm
WHK siempre posteando codigo seguro, aun no me acostumbro a hacerlo :P


Título: Re: Petición a API XML
Publicado por: WHK en 29 Octubre 2009, 23:24 pm
esque no pienses que es seguro, piensa que es necesario para que se vea, si no pones htmlspecialchars no podrá verse el contenido original si este lleva algún carácter especial. mas que por el sistema hazlo por los usuarios del sistema  :P


Título: Re: Petición a API XML
Publicado por: Salgaw en 30 Octubre 2009, 18:00 pm
Bueno ya consigo mostrar el XML del tirón en mi web.
He usado simplexml_load_string();
Ahora el problema es acceder a los atributos ya que no me sirve con $xml->channel->item->title ya que la estructura de mi XML no es asi y al haber datos con variable=valor no consigo que lo muestre.
Por ejemplo consigo contar cuantos elementos "dato" que hay pero no acceder a sus valores. Como especifico estos valores?

<dato precio="5">
  <opcion a="1" b="4">
  <opcion a="1" b="2">
</dato>

Gracias!