Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Moraes

Converter dados XML para php

Recommended Posts

Tenho um xml que lista arquivos no servidor, gostaria de converter as tags XML para php. exemplo:

 

XML

<arquivo>clientes</arquivo>

PHP

<?php include("clientes.php"); ?>

Como eu faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela resposta, mas li o manual e não econtrei nenhuma referencia sobre oque eu procuro. Preciso que o PHP converta a tag xml em um include().

 

Em outras palavras preciso de uma função que pegue tags especificas (xml ou html) e converta para PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso que você quer não existe, na realidade sequer faz algum sentido, pelo menos não do modo que você idealizou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz sentido, não to conseguindo deixar claro oq preciso então..vou procurar alguma referencia e posto aqui. Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

O XML é uma linguagem de marcação (na realidade é uma definição para linguagem de marcação, mas enfim).

O PHP apenas pode ler o XML, nada mais. Quem deve implementar a conversão é você. Tal qual:

if ($node->getName() == 'aquivo') {
   include((string)$node);
}

Todas as funções que você pode utilizar são referentes ao objeto retornado pela função do post #2 (simplexml_load_string).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok...colocando de outra forma: Eu tenho o arquivo view.php, nesse arquivo é montado o html da página, como no exemplo abaixo:

<?php 

include("functions.php");

?>
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<title>Site</title>
</head>
<body>
<div><elemento="menu"></div>
</body>
</html>

Existe alguma possibilidade de substituir a tag <elemento="menu"> por include("menu.php")?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você teria que ler o DOM, localizar o elemento através o name ou xpath e, então, substituí-lo pelo arquivo incluído.

Você pode ver algo aqui:

http://forum.imasters.com.br/topic/536201-mvc-paginas-dinamicas/?p=2141430

 

Entretanto, em strings você pode apenas adicionar strings... O que não é o caso do include. Dependendo do que você quer incluir, pode usar file_get_contents. Entretanto, file_get_contents não executa PHP.

 

Em casos mais extremos, pode tentar utilizar o buffer para pegar o que foi incluído através do include. Tal qual:

ob_start();

include('file.php');

$file = ob_get_contents();

ob_end_clean();
Todo o conteúdo do include está dentro da variável $file. Nesse caso, códigos em PHP são executados no include.

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.