我有以下代码:

<?php
header('Content-type: text/xml');

$xmlout = "<?xml version=\"1.0\" ?>\n";
$xmlout .= "<persons>\n";

$db = new PDO('mysql:host=localhost;dbname=xxx','root','');
$stmt = $db->prepare("select * from users");
$stmt->execute();
while($row = $stmt->fetch()){
    $xmlout .= "\t<person>\n";
    $xmlout .= "\t\t<id>".$row['id']."</id>\n";
    $xmlout .= "\t\t<username>".$row['username']."</username>\n";
    $xmlout .= "\t\t<password>".$row['password']."</password>\n";
    $xmlout .= "\t\t<realname>".$row['realname']."</realname>\n";
    $xmlout .= "\t\t<surname>".$row['surname']."</surname>\n";
    $xmlout .= "\t\t<email>".$row['email']."</email>\n";
    $xmlout .= "\t\t<created>".$row['created']."</created>\n";
    $xmlout .= "\t\t<admin>".$row['admin']."</admin>\n";
    $xmlout .= "\t</person>\n";
}

$xmlout .= "</persons>";
echo $xmlout;
?>


并且它不起作用,它具有以下错误:


  第2行第1列错误:文档末尾的多余内容
  下面是直到第一个错误的页面呈现。


有人知道,哪里出了问题?

最佳答案

\t(标签)有什么作用?您是否有特定原因要在代码中手动声明它?您是否尝试过删除它?

另外,在设置标题之前,尝试构建XML字符串,然后回显该字符串。

关于php - 使用php从mysql数据创建xml,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43208033/

10-09 05:25