刚刚学,我的源代码如下,但在浏览器中显示“XML 文档必须有一个顶层元素”错误,请问问题出在哪儿呢,谢谢!
<?php
//数据库基本信息
$server = "localhost"; 
$db_user = "root";
$db_pass = "root";
$database = "test";//连接数据库
$result = mysql_connect($server, $db_user,$db_pass); if (!$result) { 
$errno = mysql_errno();      
echo "连接错误:代码".$errno."<br>";
exit();
}//得到查询结果
$sql_select = "select time,serials1,serials2,serials3 from t_test";
$result = mysql_db_query($database,$sql_select);//创建XML
$dom = new DomDocument("1.0","UTF-8");
header( "Content-type: text/xml" );
$dom->formatOutput = true;
$root = $dom->createElement( "Chart" );
$dom->appendChild( $root );while ($row = mysql_fetch_array($result)) {
       $dn = $dom->createElement( "data" );
       $dn->setAttribute( 'time', $row['time'] );
       $dn->setAttribute( 'serials1', $row['serials1'] );
       $dn->setAttribute( 'serials2', $row['serials2'] );
       $dn->setAttribute( 'serials3', $row['serials3'] );
       $root->appendChild( $dn );
} echo $dom->save('test.xml');mysql_close();
?>

解决方案 »

  1.   

    应该就是在像HTML一样。
    可以用<HTML></HTML>把一个网页所有内容都包在里面。这个<HTML></HTML>就是顶层元素了吧。
      

  2.   

    你把$dom输出出来看看就知道问题了。
      

  3.   

    //数据库基本信息 
    $server = "localhost"; 
    $db_user = "root"; 
    $db_pass = "root"; 
    $database = "test"; //连接数据库 
    $result = mysql_connect($server, $db_user,$db_pass); 
    mysql_query("set names 'utf8'");
    if (!$result) { 
    $errno = mysql_errno();      
    echo "连接错误:代码".$errno." <br>"; 
    exit(); 
    } //得到查询结果 
    $sql_select = "select time,serials1,serials2,serials3 from t_test"; 
    $result = mysql_db_query($database,$sql_select); //创建XML 
    $dom = new DomDocument("1.0","UTF-8"); 
    //header( "Content-type: text/xml" ); 
    $dom->formatOutput = true; 
    $root = $dom->createElement( "Chart" ); 
    $dom->appendChild( $root ); while ($row = mysql_fetch_array($result)) { 
          $dn = $dom->createElement( "data" ); 
          $dn->setAttribute( 'time', $row['time'] ); 
          $dn->setAttribute( 'serials1', $row['serials1'] ); 
          $dn->setAttribute( 'serials2', $row['serials2'] ); 
          $dn->setAttribute( 'serials3', $row['serials4'] ); 
          $root->appendChild( $dn ); 

    echo $dom->save('test.xml'); 
    mysql_close();   结帖吧.