文档末尾的额外内容(xml)(php)

时间:2017-04-05 10:38:48

标签: php xml mysqli

我想显示来自mysql数据库的所有数据并使用xml格式。但它显示错误消息“第205行第2行的错误:文档末尾的额外内容” 怎么解决它?

<?php
    extract($_REQUEST);
    include ('connect.php');

    if ($result_no = $conn->query("SELECT * FROM enxml")){

    while ($row_no = $result_no->fetch_object()){

    $xml = '';
    $xml .= '<stationList>';
    $xml .= '<station no="' . $row_no->no . '">' ;
    $xml .= '<location>'. $row_no->location .'</location>';
    $xml .= '<lat>'.$row_no->lat.'</lat>';
    $xml .= '<lng>'.$row_no->lng.'</lng>';
    $xml .= '<type>'.$row_no->type.'</type>';
    $xml .= '<districtL>'.$row_no->districtL.'</districtL>';
    $xml .= '<districtS>'.$row_no->districtS.'</districtS>';
    $xml .= '<address>'.$row_no->address.'</address>';
    $xml .= '<provider>'.$row_no->provider.'</provider>';
    $xml .= '<parkingNo>'.$row_no->parkingNo.'</parkingNo>';
    $xml .= '<img>'.$row_no->img.'</img>';
    $xml .= '</station>';
    $xml .= '</stationList>';


    header("Content-Type:text/xml");
    echo $xml;
    }
    }

    ?>

1 个答案:

答案 0 :(得分:0)

xml中应该只有一个根元素。你现在有很多。在<stationList>循环后移动while echo循环和while xml:

$xml = '';
$xml .= '<stationList>';
while ($row_no = $result_no->fetch_object()){
    $xml .= '<station no="' . $row_no->no . '">' ;
    $xml .= '<location>'. $row_no->location .'</location>';
    $xml .= '<lat>'.$row_no->lat.'</lat>';
    $xml .= '<lng>'.$row_no->lng.'</lng>';
    $xml .= '<type>'.$row_no->type.'</type>';
    $xml .= '<districtL>'.$row_no->districtL.'</districtL>';
    $xml .= '<districtS>'.$row_no->districtS.'</districtS>';
    $xml .= '<address>'.$row_no->address.'</address>';
    $xml .= '<provider>'.$row_no->provider.'</provider>';
    $xml .= '<parkingNo>'.$row_no->parkingNo.'</parkingNo>';
    $xml .= '<img>'.$row_no->img.'</img>';
    $xml .= '</station>';
}
$xml .= '</stationList>';

header("Content-Type:text/xml");
echo $xml;