【问题标题】:RSS Feed XML error- any wrong?RSS Feed XML 错误 - 有什么问题吗?
【发布时间】:2009-09-28 09:46:12
【问题描述】:
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;

?>

【问题讨论】:

    标签: xml rss feed


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 我在本地电脑上运行它,firefox 也是...但它出现错误。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2021-05-21
        • 2017-07-29
        • 1970-01-01
        • 2011-03-11
        • 1970-01-01
        • 1970-01-01
        • 2023-03-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多