XML声明仅允许在文档的开头

时间:2013-02-04 11:31:55

标签: xml wordpress feeds feedburner

我的博客Feed今天显示错误:

  

此页面包含以下错误:

     第6行第2行的

错误:仅在文档开头允许XML声明

     

下面是第一个错误的页面呈现

我的博客供稿:http://feeds.feedburner.com/klassicblog

我的博客:http://blog.klassicweb.com

5 个答案:

答案 0 :(得分:5)

您的xml文档以换行符开头。

答案 1 :(得分:3)

这是我找到的解决方案 首先,您需要在wordpress根字典上创建一个php文件(whitespacefix.php),内容如下。

<?php
function ___wejns_wp_whitespace_fix($input) {
    $allowed = false;
    $found = false;
    foreach (headers_list() as $header) {
        if (preg_match("/^content-type:\\s+(text\\/|application\\/((xhtml|atom|rss)\\+xml|xml))/i", $header)) {
            $allowed = true;
        }
        if (preg_match("/^content-type:\\s+/i", $header)) {
            $found = true;
        }
    }
    if ($allowed || !$found) {
        return preg_replace("/\\A\\s*/m", "", $input);
    } else {
        return $input;
    }
}
ob_start("___wejns_wp_whitespace_fix");
?>

然后打开index.php文件,并在<?php标签之后添加以下行

include('whitespacefix.php');

引用自here

答案 2 :(得分:0)

页面上的每个页面(包含的站点地图)在开头都包含空行。 (您可以看到HTML源代码)您应该删除此行以修复站点地图。您可以尝试以下步骤:

检查wp-config.php文件中括号内的空白行。

检查主题的functions.php文件,查看括号内的空白行。

逐个禁用插件并重新验证,直到找出导致问题的插件(如何检查插件冲突)

注意最后的php?&gt;应该从所有PHP代码文件中省略 - 模块,包含等等(例如,wp-config.php,functions.php,...)。

答案 3 :(得分:0)

主题或插件中包含的文件之一,在开始前有一个空白行

首先,停用所有插件,然后尝试加载sitemap.xml链接。如果现在可以使用,那么罪魁祸首就是您的插件之一。如果仍然无法正常工作,请继续...

第二,遍历组成WordPress主题的每个.php文件。寻找任何开始

第三,重新安装WordPress核心安装。如果仍然无法解决问题,请与开发人员联系以深入研究您的源代码。

答案 4 :(得分:-1)

如果您使用的是wordpress,那么在functions.php文件的最后一行必须有一个以上的空行。

只需删除这些空白行,错误就会消失。

如果您想了解有关错误的更多信息,请阅读以下文章: http://www.am22tech.com/fix-xml-declaration-rss-feed-error/