XML Parsing Error: no element found
Location: http://localhost/rss/
Line Number 1, Column 1:
但是,当我将xml粘贴到http://validator.w3.org/feed/check.cgi时,它会说没有格式化错误。
以下完整代码:
的index.php
<?php
header("Content-Type: application/xml; charset=ISO-8859-1");
$details = '<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>hehe</title>
<link>http://www.google.com</link>
<description>gaga</description>
</channel>
</rss>
';
echo $details;
?>
答案 0 :(得分:0)
谁在报告解析错误?我把代码放在我的机器上,它按预期工作。 Firefox要求订阅Feed。
答案 1 :(得分:0)
您必须非常小心,确保在XML声明之前没有换行符或空格。即使是单个换行也会导致问题。
答案 2 :(得分:0)
确保在PHP文件的开头没有杂散BOM。当保存为UTF-8时,Windows上的某些(愚蠢的,破碎的)编辑器会将UTF-8编码的BOM丢弃到文件的开头。这是毫无意义的(因为UTF-8没有字节顺序问题)并且不合需要(因为它会破坏与面向字节的处理工具的兼容性)。
由于您将输出作为ISO-8859-1提供,因此开始时任何UTF-8编码的BOM都将成为8859-1序列
。对于XML,这将是根元素之外的非空白字符数据,这是不允许的。
如果发生这种情况,请通过将PHP文件保存为“Western”(cp1252)编码来修复它,或者查找“无BOM的UTF-8”编码以保存。