2011-06-26 7 views
62

Mam wygenerowany przez Google piaskownicę kodu HTML, który działa poprawnie na stronie HTML. Po umieszczeniu tego samego kodu na stronie XHTML, zgłasza następujący wyjątek:Odwołanie do jednostki "foo" musi kończyć się znakiem ";" delimiter

odniesienie do jednostki "w" musi kończyć się znakiem ";" Ogranicznik

To odnosząc parametr żądania w w adresie URL w poniższej src atrybutu:

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

Jak to jest spowodowane i jak mogę go rozwiązać?

Odpowiedz

145

Znak ampersand & to znak specjalny w HTML i XML. Jeśli chcesz używać go jako normalnego znaku, musisz go poprawnie zakodować. Dodaj &amp; zamiast &:

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

& oznacza początek zakodowanej jednostki, takie jak &lt; dla < lub &amp; dla &. W twoim przypadku parser próbuje interpretować &w jako encję. Ale jednostki są zawsze zakończone przez ;, więc jeśli brakuje ;, otrzymasz komunikat o błędzie.

+0

Proste i prosto do punktu! Właściwie użyłem tej odpowiedzi, aby rozwiązać problem z biblioteką Android SIMPLE xml haha ​​... – ryvianstyron

+0

Użyłem jej po prostu do rozwiązania problemu z interfejsem API Arkuszy Google =) – ggwarpig

Powiązane problemy