การอ้างอิงเอนทิตี "foo" ต้องลงท้ายด้วย ";" ตัวคั่น


97

ฉันมีแซนด์บ็อกซ์ Google checkout สร้างโค้ด HTML ซึ่งทำงานได้ดีในหน้า HTML เมื่อฉันใส่รหัสเดียวกันในหน้า XHTML มันจะแสดงข้อยกเว้นด้านล่าง:

การอ้างอิงเอนทิตี "w" ต้องลงท้ายด้วย ";" ตัวคั่น

มันอ้างถึงพารามิเตอร์คำขอwใน URL ใน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" />

มันเกิดจากอะไรและฉันจะแก้ได้อย่างไร?

คำตอบ:


217

เครื่องหมายและ&เป็นอักขระพิเศษใน HTML และ XML หากต้องการใช้เป็นอักขระปกติคุณต้องเข้ารหัสให้ถูกต้อง เขียน&amp;แทน& :

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

&หมายถึงการเริ่มต้นของการเป็นองค์กรที่เข้ารหัสเช่น&lt;สำหรับ<หรือสำหรับ&amp; &ในกรณีของคุณตัววิเคราะห์จะพยายามตีความ&wเป็นเอนทิตี แต่เอนทิตีจะถูกยกเลิกเสมอ;ดังนั้นหากสิ่งที่;หายไปคุณจะได้รับข้อความแสดงข้อผิดพลาด


ง่ายและตรงประเด็น! ฉันใช้คำตอบนี้เพื่อแก้ปัญหากับไลบรารี xml ของ Android SIMPLE ฮ่าฮ่า ...
shecodesthings

และฉันเพิ่งใช้มันเพื่อแก้ปัญหากับ Google Spreadsheets API =)
gerbz

ฉันจะแก้ไขได้โดยไม่ต้องเปลี่ยน XML หรือไม่
Amjad Rehman

0

สิ่งนี้ใช้ได้ผลกับฉันเมื่อใช้รหัสการติดตั้งของ Search iq ในไฟล์ HTML ของบล็อก 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);
})();

แจ้งข้อผิดพลาดที่นี่: & engineKey หลังจากเพิ่ม& ampแทนที่&ฉันสามารถบันทึกไฟล์ HTML ของฉันได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.