ホームページ > バックエンド開発 > PHPチュートリアル > ブラウザは XML ファイルの 4 行目、列 56 にエラー エラーを出力します: EntityRef: ';' を期待しています。

ブラウザは XML ファイルの 4 行目、列 56 にエラー エラーを出力します: EntityRef: ';' を期待しています。

WBOY
リリース: 2016-06-20 13:03:34
オリジナル
2963 人が閲覧しました

XML 形式で出力する PHP で書かれた API。

このエラーはブラウザに直接表示されます:

エラー 4 行目 56: EntityRef: Expecting ';'
ページのソース コードを表示します。この行は次のとおりです:
http://www.xxx.cn/index.php?id=5383&utm_source=57tuan

何が起こっているのですか?どうやって解決すればいいでしょうか?

答え:

& 記号を & に変更するか、cdata 領域 () を直接使用します。

Firefoxブラウザ、Google Chrome、およびほとんどのブラウザが XML ファイルを表示する場合、ファイルのソース コードは表示されませんが、「XML パーサー」によって解析された結果が表示されます。ただし、「xml パーサー」は文字「&」を検出すると、「&」をエンティティ参照の開始とみなし、エンティティ参照の終了記号「;」を検索します。これがこの記事で発生する問題です。 。
XML ドキュメントには、「&」のような事前定義されたエンティティ参照が合計 5 つあります。つまり、「&」、「<」、「>」、「'」、「"」です。

解決策 1:
使用前にエンティティ参照をエンコードします。つまり、
「<」を「<」としてエンコードします。
「>」をエンコードします。 「>」としてエンコードします。
「'」を「'」としてエンコードします。
「"」を「"」としてエンコードします。

解決策 2: CDATA マーク内の
、すべてのタグとエンティティ参照CDATA の形式は次のとおりです:

についての 2 つの注意点があります。 CDATA、

1 つ: CDATA の終了記号が "]]> であるため、CDATA に "]]>"、

を含めることはできません 2 つ: CDATA 以降、すべてのタグとエンティティ参照は無視されるため、CDATA をネストすることはできません。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート