// URL del XML de "Mi Dolar" $url = "http://www.midolar.com.ar/dolar.xml"; // ************************************************************* // *********** Comienzo del Parser XML de Mi Dolar ************* // ************************************************************* // * Luego de ejecutarse el parser, quedarán definidas cinco * // * variables con los datos del XML: * // ************************************************************* // * $dolar_compra: Valor del dólar para la compra * // * $dolar_venta : Valor del dólar para la venta * // * $dolar_fecha : Fecha de la última actualización del XML * // * $dolar_hora : Hora de la última actualización del XML * // * $dolar_timestamp: Fecha y hora de la última actualización * // * del XML en formato UNIX Timestamp * // ************************************************************* $xml_tag = ""; $dolar_compra = ""; $dolar_venta = ""; $dolar_fecha = ""; $dolar_hora = ""; $dolar_timestamp = ""; $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); $fp = fopen($url, "r") or die("Error leyendo el archivo XML."); while ($data = fread($fp, 4096)) { xml_parse($xml_parser, $data, feof($fp)) or die("Se ha producido un error"); } fclose($fp); xml_parser_free($xml_parser); function startElement($parser, $nombre, $atributos) { global $xml_tag; $xml_tag = $nombre; } function endElement($parser, $nombre) { global $xml_tag; $xml_tag = ""; } function characterData($parser, $datos) { global $xml_tag, $dolar_compra, $dolar_venta; global $dolar_fecha, $dolar_hora, $dolar_timestamp; switch($xml_tag) { case "VALORCOMPRA": $dolar_compra = $datos; break; case "VALORVENTA": $dolar_venta = $datos; break; case "FECHA": $dolar_fecha = $datos; break; case "HORA": $dolar_hora = $datos; break; case "HORAUNIX": $dolar_timestamp = $datos; break; } } // ************************************************************* // ************** Fin del Parser XML de Mi Dolar *************** // ************************************************************* ?>