获取错误“下面是第一个错误的页面渲染。”

时间:2012-12-03 04:57:06

标签: php

我正在使用XMLWriter来创建xml.Below是我的代码,它工作正常。

<?php
header("Content-Type: text/xml;");
$writer = new XMLWriter(); 
$writer->openMemory();  
$writer->startDocument('1.0'); 
$writer->setIndent(4); 
$writer->startElement('epp'); 
$writer->startElement("command"); 
$writer->startElement("login"); 
$writer->writeElement('clID', 'hello'); //username
$writer->writeElement('pw', 'abcdefg'); //password
$writer->endElement(); //login
$writer->endElement(); //command
$writer->endElement(); //login
$writer->endDocument(); 
$file =  $writer->outputMemory(true); 
echo $file;

?>

如果使用下面的代码,我收到错误“获取错误”下面是第一个错误的页面渲染。“。

<?php
$time  = time();
echo $time;
header("Content-Type: text/xml;");
$writer = new XMLWriter(); 
$writer->openMemory();  
$writer->startDocument('1.0'); 
$writer->setIndent(4); 
$writer->startElement('epp'); 
$writer->startElement("command"); 
$writer->startElement("login"); 
$writer->writeElement('clID', 'hello'); //username
$writer->writeElement('pw', 'abcdefg'); //password
$writer->endElement(); //login
$writer->endElement(); //command
$writer->endElement(); //login
$writer->endDocument(); 
$file =  $writer->outputMemory(true); 
echo $file;

?>

错误:对于上面的代码块,下面是错误:我在谷歌浏览器中得到这个:

 This page contains the following errors:

 error on line 1 at column 1: Document is empty
 Below is a rendering of the page up to the first error.

如果我没有使用标题(“Content-Type:text / xml;”);然后上面的代码块正在工作,但时间正在显示,而不是给出xml格式。以下是错误:

1354510317 hello abcdefg

修改 在Mozilla,我正在低于erro:

XML Parsing Error: not well-formed
Location: http://localhost/example.php
Line Number 1, Column 11:1354512268<?xml version="1.0"?>
 ----------^

如果我的代码有任何问题,请建议。

如何“下面是第一个错误的页面渲染。”错误可以  被删除?

3 个答案:

答案 0 :(得分:8)

如果你回应XML内容之外的时间,那么它就不再是有效的XML,这就是浏览器抱怨的原因。

将内容类型指定为text / xml告诉浏览器解析XML并以可读格式呈现它。

如果您查看失败代码的来源,您应该看到所遵循的时间是原始XML内容。

当您不发送text / xml内容类型时,它看起来不正确的原因是浏览器基本上将XML标记视为HTML并决定它们不会改变布局,因此它只显示简单标签内的文本值。

如果你想在页面中混合普通输出和XML输出,你需要很好地格式化XML并对其进行HTML编码。

答案 1 :(得分:2)

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

您在那里使用什么类型的标头,以便输出应采用该格式。

示例:

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

output : coutput in xml format

header("Content-Type: text/php;");

output : output in php format

答案 2 :(得分:-1)

很多时候,不需要结束标记的HTML元素都会出现此错误。

Bad:  <img src="https://google.com">
Good: <img src="https://google.com"/>