Niler Barcelos

Gerando um arquivo XML com PHP5

Publicado por: nilerbarcelos em: 17/05/2009

A função a seguir gera uma agenda em XML.

function addContato($document, $nome, $telefone, $endereço){

	$contato = $document->createElement("contato"); //criar contato
	$nomeElm = $document->createElement("nome", $nome); //criar nome
	$telefoneElm = $document->createElement("telefone", $telefone); //criar telefone
	$enderecoElm = $document->createElement("endereco", $endereco); //criar endereco

	$contato->appendChild($nomeElm);
	$contato->appendChild($telefoneElm);
	$contato->appendChild($enderecoElm);

	return $contato;
}

	$dom = new DOMDocument("1.0", "ISO-8859-1");
	$dom->preserveWhiteSpace = false;
	$dom->formatOutput = true;

	$root = $dom->createElement("agenda");

	//utilizando a funcao para criar contatos
	$contatoJaca = addContato($dom, "Jaca Paladium", "(48) 555-3333", "Rua fim do mundo, 69");
	$contatoTripa = addContato($dom, "Tripanossoma Cruzi", "(51) 555-1234", "Rua da cocada, 159");

	//adicionando no root
	$root->appendChild($contatoJaca);
	$root->appendChild($contatoTripa);

	$dom->appendChild($root);
	$dom->save("agenda.xml"); //salvando o arquivo

	header("Content-Type: text/xml");
	echo $dom->saveXML(); //mostra dados na tela

Esse é o XML gerado pela função.
<?xml version="1.0" encoding="ISO-8859-1"?>
<agenda>
  <contato>
    <nome>Jaca Paladium</nome>
    <telefone>(48) 555-3333</telefone>
    <endereco>Rua fim do mundo, 69</endereco>
  </contato>
  <contato>
    <nome>Tripanossoma Cruzi</nome>
    <telefone>(51) 555-1234</telefone>
    <endereco>Rua da cocada, 159</endereco>
  </contato>
</agenda>

Tags:

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Páginas

Categorias

Twitter

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.