Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

d3rson

[Resolvido] Gerar XML com PHP - Cotação de Dolar

Recommended Posts

Pessoal Bom Dia!

 

Bem, primeiramente já adianto que não manjo nada de PHP, então, tenham paciência comigo... hehehe

 

Seguinte, encontrei aqui na imaster o link pra um script de cotação de dolar em php, cujo autor é o Fábio Berbert de Paula.

 

Mas não estava funcionando corretamente, estava pegando valores diferentes .. um amigo meu, corrigiu o código pra mim e está funcionando perfeitamente

 

Como não manjo nada de PHP gostaria de uma ajudinha de você's para transformar esse código em um "gerador" de XML. Ou seja, fazer com o que o script gere um XML pra mim com os valores do dolar que é gerado por esse script.

 

Será que podem me dar uma mão??

 

PS: Fiquem a vontade em utilizar o Código, apenas tenha a educação de manter os créditos!

 

Segue o Código

 


<?php
/*
  uol.cotacaoDolar.php - script usado para extrair a cotação atual do dólar 
  junto ao site de Economia da UOL


  Autor: Fábio Berbert de Paula <fberbert@gmail.com>
http://www.vivaolinux.com.br/~fabio

  Modificação e Ajuste: Alessandro Albuquerque
*/

// o fopen também funciona para arquivos da rede, uau !
if(!$fp=fopen("http://economia.uol.com.br/cotacoes/" ,"r" )) { 
   echo "Erro ao abrir a página de cotação" ; 
   exit ;
} 


while(!feof($fp)) { // leia o conteúdo da página, uma linha por vez
$linha = fgets($fp); 

$regra = '/Dólar comercial .span class=.compl./';
if (preg_match($regra, $linha, $resultado)) {
	$dolarComercial = preg_replace("^.*>.em R..^", "", $linha);
	if ($dolarComercial = preg_match_all("^([0-9]{1},[0-9]{4})^",$dolarComercial, $resultado,PREG_SET_ORDER)){
		$comercial_compra = $resultado[0][1];
		$comercial_venda = $resultado[1][1];
	}
	//$dolarComercial = "R$ " . preg_replace("/Dólar comercial ................................../", " ", $dolarComercial);
}

echo "<p>";
$regra = '/Dólar paralelo .span class=.compl./';
if (preg_match_all($regra, $linha, $resultado)) {
	$dolarParalelo = preg_replace("^.*>.em R..^", "", $linha);
	if ($dolarParalelo = preg_match_all("^([0-9]{1},[0-9]{4})^",$dolarParalelo, $resultado,PREG_SET_ORDER)){
		$paralelo_compra = $resultado[0][1];
		$paralelo_venda = $resultado[1][1];
	}
}

echo "<p>";
$regra = '/Dólar turismo .span class=.compl./';
if (preg_match_all($regra, $linha, $resultado)) {
	$dolarTurismo = preg_replace("^.*>.em R..^", "", $linha);
	if ($dolarTurismo = preg_match_all("^([0-9]{1},[0-9]{4})^",$dolarTurismo, $resultado,PREG_SET_ORDER)){
		$turismo_compra = $resultado[0][1];
		$turismo_venda = $resultado[1][1];
	}
}
}
fclose($fp); 

echo '<span class="Vermelho12">Dolar Comercial - Compra: </span><span class="Preto12">R$ '. $comercial_compra .'</span\><br>';
echo '<span class="Vermelho12">Dolar Comercial - Venda: </span><span class="Preto12">R$ '. $comercial_venda .'</span\><br>';
echo '<p><span class="Vermelho12">Dolar Paralelo - Compra: </span><span class="Preto12">R$ '. $paralelo_compra .'</span\><br>';
echo '<span class="Vermelho12">Dolar Paralelo - Venda: </span><span class="Preto12">R$ '. $paralelo_venda .'</span\><br>';
echo '<p><span class="Vermelho12">Dolar Turismo - Compra: </span><span class="Preto12">R$ '. $turismo_compra .'</span\><br>';
echo '<span class="Vermelho12">Dolar Turismo - Venda: </span><span class="Preto12">R$ '. $turismo_venda .'</span\><br>';

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só trocar os teus echos para nodes xml, exemplo:

 

echo "<?xml version="1.0" encoding="utf-8"?>\n\r"; // \n\r é para pular uma linha em vez de usar <br />

echo " <node>".$comercial_compra."</node>\n\r";

 

Abraços Walker

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, se você não manja nada de PHP você não quer uma ajudinha e sim que façam pra você. Este não é o objetivo do fórum, se precisar de ajuda particular você deve postar na área de trabalhos para freelancers.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só trocar os teus echos para nodes xml, exemplo:

 

echo "<?xml version="1.0" encoding="utf-8"?>\n\r"; // \n\r é para pular uma linha em vez de usar <br />

echo " <node>".$comercial_compra."</node>\n\r";

 

Abraços Walker

 

hum... entendi... dai o só eu chamar esse aquivo php no lugar onde eu chamaria o XML certo?

 

Amigo, se você não manja nada de PHP você não quer uma ajudinha e sim que façam pra você. Este não é o objetivo do fórum, se precisar de ajuda particular você deve postar na área de trabalhos para freelancers.

 

Bom dia pra você tb!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato, mas siga o conselho do nosso amigo Leozito, porque estamos aqui para tirar duvidas e não ensinar, mas vou deixar essa colher de chá procê! =D

 

Funcionou... muito obrigado!

 

Na verdade eu já tinha visto algo assim usando o google, mas achei uns outros scripts cabulosos que gerava o XML, salvava em um arquivo separado, enfim, fiquei na dúvida. Em ASP eu tenho um script aqui e é totalmente diferente, por isso fiquei um pouco confuso. Obrigado de qualquer maneira!

 

Bom dia ae!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.