เครื่องมือ
TH

เปรียบเทียบไฟล์ XML

วางหรือลากเอกสาร XML สองไฟล์มาวางเพื่อดูว่ามีอะไรเปลี่ยนไป ทั้งสองฝั่งจะถูกจัดรูปแบบแบบเดียวกันก่อนเปรียบเทียบ จึงแสดงเฉพาะความแตกต่างจริงในอิลิเมนต์ แอตทริบิวต์ และข้อความ – แบบเคียงข้างกัน

XML ต้นฉบับ

XML ที่แก้ไขแล้ว

เป็นส่วนตัว: ข้อมูลของคุณถูกประมวลผลในเบราว์เซอร์ และไม่มีการอัปโหลดไปที่ใดเลย

วิธีเปรียบเทียบไฟล์ XML สองไฟล์

  1. วางหรือลาก XML ต้นฉบับไว้ทางซ้าย และ XML ที่แก้ไขแล้วไว้ทางขวา ผลลัพธ์จะอัปเดตทันทีขณะพิมพ์
  2. เลือกสิ่งที่ไม่ต้องการนำมาเปรียบเทียบ: ช่องว่างในข้อความ คอมเมนต์ หรือลำดับแอตทริบิวต์ ตัวเลือก ซ่อนบรรทัดที่ไม่เปลี่ยนแปลง ช่วยให้เอกสารยาว ๆ ดูกระชับขึ้น
  3. อ่านสรุปจำนวนบรรทัดที่เพิ่ม ลบ และแก้ไข แล้วไล่ดูในมุมมองแบบเคียงข้าง ปุ่ม สลับด้าน จะกลับทิศทางการเปรียบเทียบ

การเปรียบเทียบ XML ละเว้นอะไรบ้าง

ความแตกต่างละเว้นหรือไม่
การเยื้องและการขึ้นบรรทัดใหม่ระหว่างอิลิเมนต์ละเว้นเสมอ
เครื่องหมายคำพูดเดี่ยวหรือคู่รอบค่าแอตทริบิวต์ละเว้นเสมอ
<a/> หรือ <a></a>ละเว้นเสมอ
ช่องว่างและการขึ้นบรรทัดส่วนเกินภายในข้อความเมื่อเปิด ไม่สนใจช่องว่างในข้อความ (เปิดไว้เป็นค่าเริ่มต้น)
คอมเมนต์เมื่อเปิด ไม่สนใจคอมเมนต์
ลำดับของแอตทริบิวต์เมื่อเปิด ไม่สนใจลำดับแอตทริบิวต์ (เปิดไว้เป็นค่าเริ่มต้น)
ลำดับของอิลิเมนต์ไม่ละเว้น – อิลิเมนต์ที่ถูกย้ายจะแสดงเป็นถูกลบและถูกเพิ่ม
prefix ของ namespace, &amp; หรือ &#38;, CDATA หรือข้อความที่ escapeไม่ละเว้น – เปรียบเทียบตามที่เขียนไว้จริง

การเปรียบเทียบทำงานอย่างไร

เอกสารทั้งสองจะถูก parse แล้วปรับให้เป็นมาตรฐาน (normalize) ตามตัวเลือกที่เลือกไว้ และเขียนออกมาด้วยการเยื้อง 2 ช่องว่างแบบเดียวกัน จากนั้นบรรทัดที่ได้จะถูกเปรียบเทียบด้วยอัลกอริทึม Myers diff ซึ่งเป็นวิธีที่ git diff ใช้เป็นค่าเริ่มต้น บรรทัดที่ถูกแทนที่จะถูกจับคู่เป็นบรรทัดที่แก้ไข และช่วงยาว ๆ ของบรรทัดที่ไม่เปลี่ยนแปลงสามารถพับเก็บได้ เนื่องจากผลลัพธ์อ้างอิงจากเวอร์ชันที่จัดรูปแบบแล้ว ตำแหน่งบรรทัดจึงอาจไม่ตรงกับไฟล์ต้นฉบับของคุณ

คำถามที่พบบ่อย

ลำดับของอิลิเมนต์มีผลหรือไม่?

มีผล อิลิเมนต์ใน XML มีลำดับ ดังนั้นอิลิเมนต์ที่ถูกย้ายจะแสดงเป็นถูกลบในตำแหน่งหนึ่งและถูกเพิ่มในอีกตำแหน่งหนึ่ง มีเพียงลำดับของแอตทริบิวต์เท่านั้นที่ละเว้นได้ เพราะใน XML ลำดับของแอตทริบิวต์ไม่มีความหมาย

ทำไมไฟล์สองไฟล์ที่ดูเหมือนกันถึงแสดงว่าแตกต่างกัน?

ตรวจดูตัวเลือก: คอมเมนต์ ลำดับแอตทริบิวต์ และช่องว่างภายในข้อความจะนับเป็นความแตกต่างเมื่อปิดตัวเลือกที่เกี่ยวข้องไว้ นอกจากนี้ prefix ของ namespace และรูปแบบการเขียน entity เช่น &amp; และ &#38; จะถูกเปรียบเทียบตามที่เขียนไว้ทุกตัวอักษร

เปรียบเทียบ XML ที่ไม่ well-formed ได้หรือไม่?

ไม่ได้ เอกสารทั้งสองต้องถูก parse ก่อน หากเอกสารใดมีข้อผิดพลาด จะแสดงไว้ใต้ฝั่งนั้นพร้อมบรรทัดและคอลัมน์ – แก้ไขได้ที่นั่นเลยหรือใช้เครื่องมือตรวจสอบ XML

ข้อมูลของฉันถูกอัปโหลดหรือไม่?

ไม่ การเปรียบเทียบทำงานในเบราว์เซอร์ของคุณ และไม่มีข้อมูลใดถูกส่งไปยังเซิร์ฟเวอร์