Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
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.
Isso que você quer não existe, na realidade sequer faz algum sentido, pelo menos não do modo que você idealizou...
Faz sentido, não to conseguindo deixar claro oq preciso então..vou procurar alguma referencia e posto aqui. Vlw
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).
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")?
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.Ja me deu uma direção pra pesquisar...muito obrigado.
http://php.net/manual/pt_BR/function.simplexml-load-string.php