php echo变量xml

时间:2014-01-04 01:20:29

标签: php xml

我想在xml文本的方法中打印一个变量。 有可能吗?

<?
$qtdRows = 10; //Ver consulta do banco
$nome = $_POST['nome'];
//ARQUIVO XML CRIADO NO SERVIDOR (Pode ser um arquivo em branco, so para iniciar, e depois ele coloca o conteudo com o script)
$arquivo = "cases.xml";

$escrever .= '<?xml version="1.0" encoding="ISO-8859-1" ?>';
$escrever .= '<filmes>';

    for($i=0; $i<$qtdRows; $i++){
        $escrever .= '<filme>';
        $escrever .= '<nome> $nome </nome>';
        $escrever .= '<ano>$ano</ano>';
        $escrever .= '<diretor>$diretor</diretor>';
        $escrever .= '<comentarios>$filme</comentarios>';
        $escrever .= '</filme>';
    }
$escrever .= '</filmes>';

$fd = fopen ($arquivo, "w"); // abre o arquivo
fwrite($fd, $escrever); //Escreve no arquivo
fclose ($fd); // fecha o arquivo

?>
<script>
    location.href = 'index.php'; //Redirediona, depois de gerado o XML, para qualquer pagina (Ex: index.php)
</script>

这种方法不起作用! 正确的语法是什么? $escrever .= '<nome> $nome </nome>';

2 个答案:

答案 0 :(得分:0)

.用于连接字符串,如下所示。

$escrever .= '<nome>' . $nome . '</nome>';

(添加点.和单引号'。)

Suerte!

答案 1 :(得分:0)

更改此行:

$escrever .= '<?xml version="1.0" encoding="ISO-8859-1" ?>';

有:

// Without concatenation
$escrever = '<?xml version="1.0" encoding="ISO-8859-1" ?>'; 

此外,连接应该是:

$escrever .= '<nome>' . $nome . '</nome>';

我希望它有所帮助!