엔티티 "foo"에 대한 참조는 ';'로 끝나야합니다. 구분자


93

HTML 페이지에서 잘 작동하는 Google checkout sandbox 생성 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" />

이 문제는 어떻게 발생하며 어떻게 해결할 수 있습니까?

답변:


208

앰퍼샌드 &는 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엔티티 로 해석하려고 시도합니다 . 그러나 엔티티는 항상로 종료 되므로이 누락 된 ;경우 ;오류 메시지가 표시됩니다.


간단하고 직설적입니다! 사실은 ... 안드로이드 SIMPLE의 XML 라이브러리 하하의 문제를 해결하기 위해이 답변을 사용
ryvianstyron

그리고 방금 Google 스프레드 시트 API의 문제를 해결하는 데 사용했습니다. =)
gerbz 2015-06-26

내 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 교체 후 & 나는 내 HTML 파일을 저장할 수있었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.