エンティティ「foo」への参照は「;」で終了する必要があります デリミタ


92

Googleチェックアウトサンドボックスで生成されたHTMLコードがあり、HTMLページで正常に機能します。同じコードをXHTMLページに配置すると、以下の例外がスローされます。

エンティティ「w」への参照は「;」で終了する必要があります デリミタ

w以下のsrc属性のURLのリクエストパラメータを参照しています。

<input type="image" name="Google Checkout" alt="Fast checkout through Google"
    src="http://sandbox.google.com/checkout/buttons/checkout.gif?merchant_id=211512493599623&w=180&h=46&style=white&variant=text&loc=en_US"
    height="46" width="180" />

これはどのように引き起こされ、どうすれば解決できますか?

回答:


207

アンパサンド&は、HTMLおよびXMLの特殊文字です。通常の文字として使用する場合は、正しくエンコードする必要があります。&amp;代わりに書く&

src="...9623&amp;w=180&amp;h=46&amp;style=white&amp;variant=text&amp;loc=en_US"

&&lt;for <&amp;for などのエンコードされたエンティティの開始を示し&ます。あなたの場合、パーサーは&wエンティティとして解釈しようとします。ただし、エンティティは常にで終了するため;、がない場合;はエラーメッセージが表示されます。


シンプルでストレートポイント!私は実際にこの回答を使用して、Android SIMPLE xmlライブラリの問題を解決しました...
ryvianstyron

そして、私はGoogle Spreadsheets APIの問題を解決するためにそれを使用しました=)
gerbz

XMLを変更せずに修正できますか?
Amjad Rehman A

0

BloggerブログのHTMLファイルで検索iqのインストールコードを使用すると、これは私の側で機能しました。

<script type="text/javascript">
(function () {
    window.siqConfig = {
        engineKey: "6e14b3aacb2b93b658f8729adec0c030",
        forceLoadSettings: false        // change false to true if search box on your site is adding dynamically
    };
    window.siqConfig.baseUrl = "//pub.searchiq.co/";
    var script = document.createElement("SCRIPT");
    script.src = window.siqConfig.baseUrl + '/js/container/siq-container-2.js?cb=' + (Math.floor(Math.random()*999999)) + '&engineKey=' + siqConfig.engineKey;
    script.id = "siq-container";
    document.getElementsByTagName("HEAD")[0].appendChild(script);
})();

ここでエラーが発生しました:&engineKey、&ampを置き換えてampを置き換えた後、HTMLファイルを保存できました。知識を感謝します。^ _ ^

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.