Ir para conteúdo

POWERED BY:

Arquivado

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

Vitor Luis

[Resolvido] [PHP + XML] Quebra de linha

Recommended Posts

Olá pessoal,

Estou desenvolvendo um sistema de notícias que será lido pelo FLASH e através do PHP

exporto as notícias do banco de dados em XML.

 

O grande problema é que os navegadores não lêem meu arquivo XML, pois não consigo

fazer a quebra de linha, já tentei utilizar /n, <br /> e nada dá certo, segue abaixo

o código da função desenvolvida, para que possam me dar suporte.

 

// Exportar XML
//=========================================
function exportarXML(){
	// Deleta a versão anterior do XML
	unlink('noticias.xml');

	// Transforma o SQL em XML
	$_xml	 =	'<?xml version="1.0" encoding="utf-8"?>';
	$_xml	.=	'/n <noticias>';

	$_sql		=	mysql_query("SELECT * FROM ns_noticias ORDER BY id_noticia DESC;");
	while($_row	=	mysql_fetch_array($_sql)){
		$_xml	.=	'<titulo>' . utf8_encode($_row['nome_noticia'])  . '</titulo>';
		$_xml	.=	'<texto>'  . utf8_encode($_row['texto_noticia']) . '</texto>';
		$_xml	.=	'<data>'   . utf8_encode($_row['data_noticia'])  . '</data>';
	}

	$_xml	.=	'</noticias>';

	// Gera o arquivo XML
	$_open	=	fopen('noticias.xml', "w");
	fwrite($_open, $_xml);
	fclose($_open);

	header('Location: ../sucesso.php');
}

 

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso

 

// Exportar XML
       //=========================================
       function exportarXML(){
               // Deleta a versão anterior do XML
               unlink('noticias.xml');

               // Transforma o SQL em XML
               $_xml    =      '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL;
               $_xml   .=      '<noticias>' . PHP_EOL;

               $_sql           =       mysql_query("SELECT * FROM ns_noticias ORDER BY id_noticia DESC;");
               while($_row     =       mysql_fetch_array($_sql)){
                       $_xml   .=      '<titulo>' . utf8_encode($_row['nome_noticia'])  . '</titulo>' . PHP_EOL;
                       $_xml   .=      '<texto>'  . utf8_encode($_row['texto_noticia']) . '</texto>' . PHP_EOL;
                       $_xml   .=      '<data>'   . utf8_encode($_row['data_noticia'])  . '</data>' . PHP_EOL;
               }

               $_xml   .=      '</noticias>';

               // Gera o arquivo XML
               $_open  =       fopen('noticias.xml', "w");
               fwrite($_open, $_xml);
               fclose($_open);

               header('Location: ../sucesso.php');
       }

 

PHP_EOL = End of Line

 

Vai dar certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é bem uma função. PHP_EOL é uma constante que aponta para nova linha de acordo com o sistema operacional onde o PHP está instalado.

 

O seu problema é que você usava /n enquanto o correto seria \n e DENTRO DE ASPAS DUPLAS. É infelizmente para esse caso aspas simples só atrapalham...

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.