我有以下代码。
$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
的内容。有任何想法吗?
答案 0 :(得分:3)
大多数浏览器都会呈现看起来像XML的标记。因此,可能会出现所需的XML实际生成但未在浏览器上正确显示的情况。
尝试以下方法:
在输出之前设置内容类型:
header('Content-Type: text/xml');
echo $xml_output;
如果输出看起来相同,则右键单击页面并选择查看源。您应该在那里看到您的XML标记。