Php 第1列第1行的XMLWriter错误:文档为空

Php 第1列第1行的XMLWriter错误:文档为空,php,mysql,xml,Php,Mysql,Xml,我试图从MySQL上的users表中获取记录,然后将其保存到随机生成的名称xml文件中。因此,我的php上有以下代码: <?php include_once ("connect.php"); ini_set('max_execution_time', 300); $length = 10; $randomString = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJ

我试图从MySQL上的users表中获取记录,然后将其保存到随机生成的名称xml文件中。因此,我的php上有以下代码:

<?php 
    include_once ("connect.php");
    ini_set('max_execution_time', 300);
    $length = 10;
    $randomString   = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);
    $savedstring    = $randomString;
    $sql            = "SELECT * FROM users";
    $query          = mysql_query($sql);
    $xml = new XMLWriter();
    $xml->openURI($savedstring . '.xml');
    $xml->startDocument("1.0");
    $xml->setIndent(true);
    $xml->startElement('users');
    while ($row = mysql_fetch_assoc($query)) {
        $xml->startElement("user");
        $xml->writeAttribute('username', $row['username']);
        $xml->writeRaw($row['password']);
        $xml->endElement();
    }
    $xml->endElement();
    header('Content-type: text/xml');
    $xml->endDocument();
    $xml->flush();
    echo $savedstring;
?>


但它在第1列的第1行给了我一个错误:文档是空的,有关于我做错了哪一部分的提示吗?提前谢谢

似乎您正在尝试写入/读取一个空的XML文档

您可以通过以下方式捕获此类错误:

$xml = file_get_contents("/some/xml/file.xml");
if (trim($xml) == '') {
    echo 'Empty XML file!';
}

$xml = simplexml_load_string($xml);

谢谢检查代码后,发现文件根本不是空的,当我试图在服务器上查找时,文件生成了我想要的内容。太棒了!如果我的答案是有用的,你可以考虑接受对未来访问者的正确答案。当您使用
标题('Content-type:text/xml')您必须实际输出XML,而您在问题中没有这样做。那么你的具体问题是什么?