Ir para conteúdo

POWERED BY:

Arquivado

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

paisjunior1

[Resolvido] escrever em xml com php

Recommended Posts

olá estou com uma duvida de como faer com que este script escreva no xml com a codificação correta pois ele não esta identificando acento.

Obrigado

estou usando utf-8 unicode

<?
include "../validar_session.php";
include "../Config/config_sistema.php";

 //SELECIONA A BASE DE DADOS A SER UTILIZADA
 $db   = @mysql_select_db("cadastro", $conn) 
         or die("ERRO NA SELEÇÃO DA BASE DE DADOS");

 //SQL
 $sql  = @mysql_query("SELECT * FROM locais WHERE tipo='$tipo'") 
	  or die("ERRO NO SQL");

 //TOTAL DE LINHAS AFETADAS PELA CONSULTA
 $row = mysql_num_rows($sql);

 //VERIFICA SE A PESQUISA RETORNOU ALGUMA LINHA
 if($row > 0) {

//ARQUIVO
$arquivo = "locais/$tipo/arquivo.xml";

//ABRE O ARQUIVO(SE NÃO EXISTIR, CRIA)
$ponteiro = fopen($arquivo, "w");

//ESCREVE NO ARQUIVO XML
fwrite($ponteiro, "<?xml version=\"1.0\"?>\r\n");
fwrite($ponteiro, "<agenda>\r\n");

for($i=0; $i<$row; $i++) {

  //PEGA OS DADOS DO SQL
  $titulo = mysql_result($sql,$i,"titulo");
  $tipoestabelecimento = mysql_result($sql,$i,"tipoestabelecimento");
  $tipoponto = mysql_result($sql,$i,"tipoponto");
  $totalpontos = mysql_result($sql,$i,"totalpontos");
  $horario1 = mysql_result($sql,$i,"horario1");
  $horario2 = mysql_result($sql,$i,"horario2");
  $horario3 = mysql_result($sql,$i,"horario3");
  $horario4 = mysql_result($sql,$i,"horario4");
  $fluxpessoa = mysql_result($sql,$i,"fluxpessoa");
  $publalvo = mysql_result($sql,$i,"publalvo");
  $ttarget = mysql_result($sql,$i,"ttarget");
  $local = mysql_result($sql,$i,"local");
  $img1 = mysql_result($sql,$i,"img1");
  $img2 = mysql_result($sql,$i,"img2");
  $img3 = mysql_result($sql,$i,"img3");
  $img4 = mysql_result($sql,$i,"img4");

  //MONTA AS TAGS DO XML
  $conteudo  = "<foto  titulo=\"$titulo\" tipoestabelecimento=\"$tipoestabelecimento\" tipoponto=\"$tipoponto\" totalpontos=\"$totalpontos\" horario1=\"$horario1\" horario2=\"$horario2\" horario3=\"$horario3\" horario4=\"$horario4\" fluxpessoa=\"$fluxpessoa\" publalvo=\"$publalvo\" ttarget=\"$ttarget\" local=\"$local\" img1=\"alternativa/$img1\" img2=\"alternativa/$img2\" img3=\"alternativa/$img3\" img4=\"alternativa/$img4\"/>\n";
;  
  //ESCREVE NO ARQUIVO
  fwrite($ponteiro, $conteudo);
}//FECHA FOR

//FECHA A TAG AGENDA
fwrite($ponteiro, "</agenda>");
mysql_query ( "SET NAMES 'utf8';" );
//FECHA O ARQUIVO
fclose($ponteiro);

//MENSAGEM
}//FECHA IF($row)
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue exemplo de como crio meu xml

 

xml.php

<?php
  
  $conn = @mysql_connect("localhost", "root","");  
  $db   = @mysql_select_db("teste", $conn); 
  
  $sql = "SELECT * FROM tickers ORDER BY id ASC";

  $sql  = @mysql_query($sql);
  
  $rst = mysql_num_rows($sql);

  if($rst > 0) {
    
	$xml = fopen("tickers.xml", "w");
	
	fwrite($xml, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n");
	fwrite($xml, "<tickers>\r\n");
	
	for($i=0; $i<$rst; $i++) {
	  
	  $titulo = utf8_encode(mysql_result($sql,$i,"titulo"));
	  $area = utf8_encode(mysql_result($sql,$i,"area"));
	  $texto = utf8_encode(mysql_result($sql,$i,"texto"));
	  $foto = utf8_encode(mysql_result($sql,$i,"foto"));
	  $link = utf8_encode(mysql_result($sql,$i,"link"));
 
		 $conteudo = "<ticker>\r\n";
		 $conteudo .= "<titulo>$titulo</titulo>\r\n";
		 $conteudo .= "<area>$area</area>\r\n";
		 $conteudo .= "<texto>$texto</texto>\r\n";
		 $conteudo .= "<foto>$foto</foto>\r\n";
		 $conteudo .= "<link>$link</link>\r\n";
		 $conteudo .= "</ticker>\r\n";
	  
	  fwrite($xml, $conteudo);
	}

	fwrite($xml, "</tickers>");	

	fclose($xml);	

  }
?>

 

gera o xml para ser lido pelo swf

 

tickers.xml

<?xml version="1.0" encoding="utf-8"?>

<tickers>

	<ticker>
	<titulo>Capones Show de Bar</titulo>
	<area>Casa Noturna</area>
	<texto>Apresenta todo sábado - Grupo Vai Por Mim</texto>
	<foto>capones_sabado.jpg</foto>
	<link>link</link>
	</ticker>

	<ticker>
	<titulo>Skol Beats SUNRISE</titulo>
	<area>Evento</area>
	<texto>Skol Beats SUNRISE, dia 07 de Junho, Domingo, de 12h00 às 22h00</texto>
	<foto>sunrise.jpg</foto>
	<link>link</link>
	</ticker>
</tickers>

espero ter ajudado. funciona corretamente com acentos etc.

Abraço.

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.