Ir para conteúdo

Arquivado

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

Dian Carlos

Concatenar campo repetido em XML com simpleXML

Recommended Posts

Bom dia galera.

 

É o seguinte, eu tenho essa estrutura de XML:

 

<?xml version="1.0" encoding="ISO-8859-1"?>

<document>
<text dtenvio="08/24/2013 01:24:36 PM" editoria="NTR" categoria="=Esportes">

<titulo>Titulo da Notícia</titulo>
<autor>Redação</autor>
<autor>Nome do sujeito</autor>

<paragrafo>Texto do paragrafo 1</paragrafo>
<paragrafo>Texto do paragrafo 2</paragrafo>
<paragrafo>Texto do paragrafo 3</paragrafo>
<paragrafo>Texto do paragrafo 4</paragrafo>
<paragrafo>Texto do paragrafo 5</paragrafo>

</text>
</document>

Eu consigo exibir todos os dados dando echo no php, mas estou tendo problemas para passar esses campos para uma variável, pois tenho que colocar eles no banco de dados.

 

Esse é o código que uso para pegar os campos do XML:

$xml = simplexml_load_file($_UP['pasta'] . $arquivo);
		
$titulo = addslashes(trim(strval($xml->text->titulo)));
foreach($xml->text->autor as $autor){ $autor .= addslashes(trim($autor)); } 

foreach($xml->text->paragrafo as $texto){

$texto .= SA_convertLinks(addslashes(trim($texto)));

}

Quando o campo é único, por exemplo o título, fica certinho, mas quando é repetido, como esses "paragrafo" e o "autor" o php pega somente o último campo, ou seja, se eu rodar o código com essa estrutura acima, vai entrar no banco somente isso:

 

Titulo: Titulo da notícia

Autor: Nome do Sujeito

 

Texto: Texto do parágrafo 5

 

O corretor era entrar:

 

Titulo: Titulo da notícia

Autor: Redação Nome do Sujeito

 

Texto: Texto do parágrafo 1

Texto do parágrafo 2

Texto do parágrafo 3

Texto do parágrafo 4

Texto do parágrafo 5

 

Como você podem ver, eu tentei usar uma concatenação, mas mesmo assim não deu certo.

 

Como eu posso retornar todos os campos "paragrafo" e "autor" concatenados???

 

Desde já agradeço a ajuda de todos.

Valew.

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.