xml com php e mysql

Para gera xml a partir do mysql com php:

$arquivo = 'xml/menu.xml';

//ABRE O ARQUIVO(SE NÃO EXISTIR, CRIA)
$ponteiro = fopen($arquivo, "w");
//ESCREVE NO ARQUIVO XML
fwrite($ponteiro, "\n");
fwrite($ponteiro, "");
//SQL
$q = "select chamadaSP,tipo,cd from pacpas where tipo='$tipo' order by chamadaSP";
$res = mysql_query($q);
while ($row = mysql_fetch_array($res)):
$chamada = $row['chamadaSP'];
$tipo = $row['tipo'];
$cd = $row['cd'];
// a linha abaixo e necessaria por causa que no XML não pode ter o simbolo &
$output = str_replace("&", "ecomercial", $chamada);
//MONTA AS TAGS DO XML
$conteudo = "
<menu&rt;
<titulo>$output</titulo>
<linque>pacpas.php?ln=p</linque>
<tipo>$tipo</tipo>
<cd>$cd</cd>
</menu>
";
//ESCREVE NO ARQUIVO
fwrite($ponteiro, $conteudo);
endwhile;//FECHA WHILE
//FECHA A TAG MENU
fwrite($ponteiro, "</principal>");
//FECHA O ARQUIVO
fclose($ponteiro);


Para ler o que foi gravado:

<?php
$doc2 = new DOMDocument();
$doc2->load( "xml/menu.xml" );
$books = $doc2->getElementsByTagName( "menu" );
foreach( $books as $book )
{
$links = $book->getElementsByTagName( "linque" );
$link = $links->item(0)->nodeValue;
$titles = $book->getElementsByTagName( "titulo" );
$title = $titles->item(0)->nodeValue;
$tipos = $book->getElementsByTagName( "tipo" );
$tipo = $tipos->item(0)->nodeValue;
$cds = $book->getElementsByTagName( "cd" );
$cd = $cds->item(0)->nodeValue;
$output = str_replace("ecomercial", "&", $title);
echo "<dd><a href='$link&tipo="$tipo&cd=$cd&ln=$ln'>".utf8_decode($output)."</a>\n ";
}
?>

Comentários

Postagens mais visitadas