¿Cómo puedo obtener y analizar XML de otro sitio web usando PHP?

AJAX es una técnica del lado del cliente, no puede hacerlo con PHP. Sin embargo, puede buscar una URL usando la función file_get_contents() .

Ejemplo:

 $search = some_escaping_func($user_input); $uri = 'http://www.other-site.com/api.xml?q='.$search; $response = file_get_contents($uri); $items_names = parse_xml($response); // output the result echo '
    '; foreach ($items_names as $name) { echo '
  • '.htmlspecialchars($name).'
  • '; } echo '
';

Donde parse_xml() se define con el siguiente código:

 function parse_xml($xml_str) { $items = array(); $xml_doc = new SimpleXMLElement($xml_str); foreach ($xml_doc->item as $item) { $items []= $item->name; } return $items; } 

Este ejemplo supone que la respuesta de la API es algo como esto:

    Foo   Bar   

función file_get_contents : http://php.net/manual/en/functio…
Ejemplos de SimpleXMLElement : http://www.php.net/manual/en/sim…