我已经创建了一个XML feed,该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 ?>
) - 不适用于本地或Live- cod quotes() - 在本地上工作。
本地是一个MAMP开发环境。
这是怎么了?
以为答案有点过时了,但是由于问题在Google上很重要,我将在这里留在这里。
提示:重新检查您的双引号(")是实际的双引号,例如ANSI代码34,而不是任何Unicode双引号标记(U 201C/U 201D),它们可能会偶尔进入输出文件,并且视觉上是很难跟踪。
单引号的同样,您最喜欢的Unix编辑器用来编写脚本可能会插入撇号/坟墓口音对而不是单引号。
您认为这足够了吗?不,我曾经偶然发现了Unicode的不可破坏空间字符(U 00A0),而不是简单的ANSI代码32元素属性之间的空间。解析器失败了。
长话短说:使用严格的ANSI编辑器准备XML生成的样板。
我也有同样的问题。我意识到我离开了版本,编码和报价。良好的XML具有版本和编码。
<?xml version="1.0" encoding="UTF-8"?>
这应该能够工作。不要忽略报价。
我也有类似的问题,当我尝试在浏览器中打开配置文件时,这就是我的情况:
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
,该版本似乎可以解决我的问题。
尝试以下:
header("Content-Type: text/xml")
echo " xml version='1.0' encoding='UTF-8' standalone='yes' ";
使用'1.0','utf-8'等中的单个报价。它对我有用..