对实体"foo"的引用必须以';'结尾 分隔符

Adn*_*nan 86 html xhtml xml-parsing

我有Google Checkout沙箱生成的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" />
Run Code Online (Sandbox Code Playgroud)

这是怎么造成的,我该如何解决?

Flo*_*ern 191

&符号&是HTML和XML中的特殊字符.如果要将其用作普通字符,则必须正确编码.&amp;而不是&:

src="...9623&amp;w=180&amp;h=46&amp;style=white&amp;variant=text&amp;loc=en_US"
Run Code Online (Sandbox Code Playgroud)

&表示编码实体的开始,例如&lt;for <&amp;for &.在您的情况下,解析器尝试将其解释&w为实体.但实体总是以a结尾;,因此如果;缺少,则会收到错误消息.