Gerando um arquivo XML com PHP e MySQL

Este é um exemplo para você gerar um arquivo XML com PHP.



Código fonte do arquivo php

<?php

/*Faz conexão
/*e seleciona base dados
$conexao = mysql_connect('localhost','root','') or die ("Erro na conexão ao banco de dados.");
mysql_select_db('loja', $conexao) or die ("Erro ao seleciona o banco de dados.");

//Monta consulta SQL
$sql = mysql_query("SELECT codigo, nome, preco FROM produtos");



//Abrindo documento xml
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";

//Abre bloco do xml
$xml .= "<dadosprodutos>";

?>


<?php 
	while ($row = mysql_fetch_array($sql)){

		$xml .= "<dados>";
		$xml .= "<codigo>$row[codigo]</codigo>";
		$xml .= "<nome>$row[nome]</nome>";
		$xml .= "<preco>$row[preco]</preco>";
		$xml .= "</dados>";
		
	}//fecha while
	
//fechando bloco do xml
$xml .= "</dadosprodutos>";

//Fecha conexão
mysql_close();
?>


<?php 
	//Gera o arquivo xml
	file_put_contents('arquivo.xml',$xml);
?>

Resultado do arquivo XML gerado

<?xml version="1.0" encoding="UTF-8" ?> 
- <dadosprodutos>
- <dados>
  <codigo>1</codigo> 
  <nome>teclado</nome> 
  <preco>80</preco> 
  </dados>
- <dados>
  <codigo>2</codigo> 
  <nome>monitor</nome> 
  <preco>300</preco> 
  </dados>
- <dados>
  <codigo>3</codigo> 
  <nome>gabinete</nome> 
  <preco>60</preco> 
  </dados>
- <dados>
  <codigo>4</codigo> 
  <nome>impressora</nome> 
  <preco>300</preco> 
  </dados>
- <dados>
  <codigo>5</codigo> 
  <nome>HD</nome> 
  <preco>200</preco> 
  </dados>
- <dados>
  <codigo>6</codigo> 
  <nome>pen drive</nome> 
  <preco>95</preco> 
  </dados>
- <dados>
  <codigo>7</codigo> 
  <nome>novoteclado</nome> 
  <preco>30</preco> 
  </dados>
  </dadosprodutos>