XML解析错误:XML声明格式不正确

时间:2012-11-01 04:11:18

标签: xml

我创建了一个XML Feed,它在我的本地开发环境中输出正常,但在实时服务器上,我收到以下错误:

XML Parsing Error: XML declaration not well-formed
Location: http://realaussieadventures.com/home/tourFeed
Line Number 1, Column 15:

<?xml version=1.0 ?>
--------------^

我试过带引号的版本(<?xml version="1.0" ?>) - 适用于本地版本 - 没有引号(<?xml version=1.0 ?>) - 无法在本地或实时工作 - 并使用转义引号() - 在当地工作。

Local是一个MAMP开发环境。

这有什么问题?

4 个答案:

答案 0 :(得分:4)

认为答案有点过时了,但由于问题在Google上是最重要的,我会把它留在这里。

提示:重新检查你的双引号(“)是实际的双引号,例如ANSI代码34,而不是任何Unicode双引号(U + 201C / U + 201D),它们可能偶尔会滑入输出文件中非常难以追踪。

对于单引号也是如此,用于编写脚本的您最喜欢的Unix编辑器可能会插入撇号/重音符号而不是单引号。

你觉得这还够吗?不,我曾经偶然发现Unicode不可破坏的空格字符(U + 00A0)在元素属性之间滑动而不是简单的ANSI代码32空间。 Parser悲惨地失败了。

长话短说:使用严格的ANSI编辑器来准备生成XML的样板。

答案 1 :(得分:2)

我遇到了同样的问题。我意识到我离开了版本,编码和引号。 格式良好的xml具有版本和编码。

<?xml version="1.0" encoding="UTF-8"?> 这应该可以工作。不要遗漏引号。

答案 2 :(得分:1)

试试这个:

header("Content-Type: text/xml")
echo " xml version='1.0' encoding='UTF-8' standalone='yes' ";

在'1.0','UTF-8'等中使用单引号..它对我有用..

答案 3 :(得分:0)

我遇到了类似的问题,当我尝试在浏览器中打开配置文件时,这就是我的情况。
XML Parsing Error: XML declaration not well-formed Location: http://localhost:8080/job/MyProject/config.xml Line Number 1, Column 16:<?xml version='1.1' encoding='UTF-8'?> ---------------^ 我尝试将单引号更改为双引号,但没有帮助。 但是我去了,将XML版本从1.1更改为1.0,看来可以解决我的问题。