5

ローカルの開発環境では正常に出力される XML フィードを作成しましたが、ライブ サーバーでは次のエラーが発生します。

XML Parsing Error: XML declaration not well-formed
Location: http://realaussieadventures.com/home/tourFeed
Line Number 1, Column 15:

<?xml version=1.0 ?>
--------------^

<?xml version="1.0" ?>引用符付き ( ) - ローカルで動作 - 引用符なし ( <?xml version=1.0 ?>) - ローカルまたはライブでは動作せず - エスケープされた引用符 () 付き - ローカルで動作するバージョンを試しました。

ローカルは MAMP 開発環境です。

これの何が問題なのですか?

4

4 に答える 4

6

答えは少し古いと思いましたが、質問はGoogleでかなりトップであるため、ここに残しておきます。

ヒント: 二重引用符 (") が実際の二重引用符であることを再確認してください。たとえば、ANSI コード 34 であり、Unicode の二重引用符 (U+201C / U+201D) ではありません。場合によっては出力ファイルに紛れ込む可能性があり、視覚的に非常に理解しにくいものです。追跡。

単一引用符についても同様です。スクリプトの記述に使用するお気に入りの Unix エディターでは、単一引用符の代わりにアポストロフィ/グレイブ アクセントのペアが挿入される場合があります。

これで十分だと思いますか?いいえ、要素属性間の単純な ANSI コード 32 スペースの代わりに、Unicode の改行不可能なスペース文字 (U+00A0) がスリップしていることに遭遇したことがあります。パーサーは惨めに失敗しました。

簡単に言えば、厳格な ANSI エディターを使用して、XML 生成のボイラープレートを準備します。

于 2013-07-01T19:12:25.983 に答える
3

私も同じ問題を抱えていました。バージョン、エンコーディング、引用符を残したことに気付きました。整形式の xml には、バージョンとエンコーディングがあります。

<?xml version="1.0" encoding="UTF-8"?> これは機能するはずです。引用符を除外しないでください。

于 2012-11-19T16:46:15.803 に答える
1

これを試して:

header("Content-Type: text/xml")
echo " xml version='1.0' encoding='UTF-8' standalone='yes' ";

「1.0」、「UTF-8」などで一重引用符を使用してください..それは私にとってはうまくいきます..

于 2013-03-04T08:21:03.290 に答える