XML 解析錯誤:XML 或文本聲明不在實體的開頭 位置:http://localhost:8080/APP/json/show_json.php 行 3,列 1: 請問這是怎么回事? 空格都刪掉了。還是不好使,該怎么辦?謝謝!
1 回答
舉報
0/150
提交
取消
XML 解析錯誤:XML 或文本聲明不在實體的開頭 位置:http://localhost:8080/APP/json/show_json.php 行 3,列 1: 請問這是怎么回事? 空格都刪掉了。還是不好使,該怎么辦?謝謝!
2014-11-02
舉報
2014-11-02
問題的原因找到了 大致是這樣的----分享給大家? (以備不時之需)
問題原因大體是:------->
如果一個XML聲明(<?xml ... ?>) 出現在你的Feed文件中,它必須是該Feed文件中的第一個出現的,應該在任何空白(譯者注,空格、空行)之前。不幸的是,WordPress中的插件、主題、配置文件等卻很容易帶有空行,這使得這個問題變得復雜起來。
解決方法-------->
PHP文件也會使用一個類似的記號:<?php ... ?>。最好將最后的?php??>?從所有的PHP代碼文件,如modules, includes中扔掉。這個結束符號在PHP中可要可不要(但是在XML中卻必須要有),去掉這個標記可以避免在文件結尾出現不希望出現的空白,對防止出現類似問題有幫助。
檢查你的?wp-rss2.php?和?wp-atom.php?文件,看看在?<??和??>?標記之外是不是有空行。檢查你的?wp-config.php?文件看看在?<??和??>?標記之外是否有空行。檢查你的主題中?functions.php?文件,看看在?<??和??>?標記之外是否有空行。一個一個的禁用插件并檢查Feed是否出錯,直到確定導致問題的那個插件。
此時問題基本能夠解決,如果不能解決請看看其他文件是否有空行。改完后可能需要清空瀏覽器緩存并刷新一會才能看到結果。
我認為對于我們普通用戶,檢查的重點應該是插件,而不是文件代碼,除非你在這之前修改過文件代碼。因為如果本來沒有問題而突然出現了這樣的狀況,那 說明那些相關的代碼不應該是有問題的,因為不管是WordPress文件、插件,還是主題,這都是經過檢驗的,一般不會出問題。所以,對于普通用戶而不是 程序員來說,應該先檢查你最近啟用的插件,排除之后再針對其它的幾條進行檢查。