Il riferimento all'entità "foo" deve terminare con il carattere ';' delimitatore


92

Ho il codice HTML generato dalla sandbox di Google Checkout che funziona bene nella pagina HTML. Quando inserisco lo stesso codice nella pagina XHTML, viene generata l'eccezione seguente:

il riferimento all'entità "w" deve terminare con il carattere ';' delimitatore

Fa riferimento al parametro di richiesta wnell'URL nell'attributo seguente src:

<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" />

Come è causato e come posso risolverlo?

Risposte:


207

La e commerciale &è un carattere speciale in HTML e XML. Se vuoi usarlo come un carattere normale, devi codificarlo correttamente. Scrivi &amp;invece di& :

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

&denota l'inizio di un'entità codificata, ad esempio &lt;for <o &amp;for &. Nel tuo caso il parser cerca di interpretare &wcome un'entità. Ma le entità sono sempre terminate da un ;, quindi se ;manca si ottiene il messaggio di errore.


Semplice e diretto! In realtà ho usato questa risposta per risolvere un problema con la libreria xml SIMPLE di Android haha ​​...
ryvianstyron

E l'ho appena usato per risolvere un problema con l'API di Google Spreadsheets =)
Gerbz

posso aggiustarlo senza cambiare il mio XML?
Amjad Rehman A

0

Questo ha funzionato da parte mia, quando utilizzavo il codice di installazione di search iq sul file HTML del mio blog Blogger:

<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);
})();

Mi ha dato un errore qui: & engineKey, dopo aver aggiunto & amp sostituito il & sono stato in grado di salvare il mio file HTML. Conoscenza apprezzata. ^ _ ^

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.