0
XML Parsing Error: no element found
Location: http://localhost/rss/
Line Number 1, Column 1:

但是,当我将 xml 粘贴到http://validator.w3.org/feed/check.cgi时,它说没有格式错误。

完整代码如下:

索引.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;

?>
4

3 回答 3

0

谁在报告解析错误?我把代码放在我的机器上,它按预期工作。Firefox 要求订阅该提要。

于 2009-09-28T10:07:44.083 回答
0

您必须非常小心以确保在 XML 声明之前没有换行符或空格。即使是单个换行符也会导致问题。

于 2009-09-28T10:08:00.860 回答
0

确保您的 PHP 文件开头没有杂散的 BOM。当保存为 UTF-8 时,Windows 上的某些(愚蠢的、损坏的)编辑器会将 UTF-8 编码的 BOM 放到文件的开头。这是没有意义的(因为 UTF-8 没有字节顺序问题)并且不受欢迎(因为它会破坏与面向字节的处理工具的兼容性)。

由于您将输出作为 ISO-8859-1 提供,因此开头的任何 UTF-8 编码的 BOM 都会变成 8859-1 序列。对于 XML,这将是根元素之外的非空白字符数据,这是不允许的。

如果发生这种情况,请将您的 PHP 文件保存为“Western”(cp1252)编码来修复它,或者寻找“UTF-8 without BOM”编码来保存。

于 2009-09-28T10:18:28.263 回答