PHP输出不以xml格式打印

时间:2014-10-24 11:24:26

标签: php mysql xml

我有以下代码。

$stmt = $conn->prepare('SELECT sponsor_path FROM sponsors WHERE conference_id = ?');
$stmt->execute(array($cid));

$sponsorsImg = $stmt->fetchall (PDO::FETCH_OBJ);

$xml_output = "<?xml version=\"1.0\" ?>";
$xml_output .= "<sponsors>";
foreach ($sponsorsImg as $spImg){
    $xml_output .= "<sponsor>\n";
    $xml_output .= "<image>".$spImg->sponsor_path."</image>\n";
    $xml_output .= "</sponsor>\n";
}
$xml_output .= "</sponsors>";

echo $xml_output;

不是以xml格式打印结果,而是仅以纯文本形式获得$spImg->sponsor_path的内容。有任何想法吗?

1 个答案:

答案 0 :(得分:3)

大多数浏览器都会呈现看起来像XML的标记。因此,可能会出现所需的XML实际生成但未在浏览器上正确显示的情况。

尝试以下方法:

在输出之前设置内容类型:

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

如果输出看起来相同,则右键单击页面并选择查看源。您应该在那里看到您的XML标记。