Cách so sánh hai file XML
- Dán hoặc kéo thả XML gốc vào bên trái và XML đã thay đổi vào bên phải. Kết quả cập nhật ngay khi bạn gõ.
- Chọn những gì cần bỏ qua: khoảng trắng trong văn bản, chú thích hoặc thứ tự thuộc tính. Ẩn các dòng không thay đổi giúp tài liệu dài gọn hơn.
- Đọc phần tóm tắt các dòng được thêm, bị xóa và thay đổi, sau đó xem qua chế độ hiển thị song song. Đổi bên đảo ngược chiều so sánh.
XML diff bỏ qua những gì
| Khác biệt | Bỏ qua |
|---|---|
| Thụt lề và xuống dòng giữa các phần tử | Luôn luôn |
| Dấu nháy đơn hoặc nháy kép quanh giá trị thuộc tính | Luôn luôn |
<a/> hoặc <a></a> | Luôn luôn |
| Khoảng trắng và xuống dòng thừa bên trong văn bản | Khi bật Bỏ qua khoảng trắng trong văn bản (mặc định bật) |
| Chú thích | Khi bật Bỏ qua chú thích |
| Thứ tự thuộc tính | Khi bật Bỏ qua thứ tự thuộc tính (mặc định bật) |
| Thứ tự phần tử | Không bao giờ – phần tử bị di chuyển sẽ hiển thị là bị xóa và được thêm |
Tiền tố namespace, & hoặc &, CDATA hoặc văn bản đã escape | Không bao giờ – được so sánh đúng như khi viết |
Cách so sánh XML hoạt động
Cả hai tài liệu được phân tích (parse), chuẩn hóa theo các tùy chọn đã chọn và xuất ra với cùng kiểu thụt lề hai dấu cách. Các dòng kết quả được so sánh bằng thuật toán diff Myers, phương pháp mà git diff dùng theo mặc định. Các dòng bị thay thế được ghép cặp thành dòng thay đổi, và các đoạn dài không thay đổi có thể được thu gọn. Vì kết quả dựa trên các phiên bản đã định dạng này, vị trí dòng có thể khác với file gốc của bạn.
Câu hỏi thường gặp
Thứ tự phần tử có quan trọng không?
Có. Các phần tử trong XML có thứ tự, nên một phần tử bị di chuyển sẽ hiển thị là bị xóa ở một chỗ và được thêm ở chỗ khác. Chỉ thứ tự thuộc tính mới có thể bỏ qua, vì nó không mang ý nghĩa gì trong XML.
Tại sao hai file trông giống nhau nhưng vẫn báo khác biệt?
Hãy kiểm tra các tùy chọn: chú thích, thứ tự thuộc tính và khoảng trắng bên trong văn bản được tính là khác biệt khi tùy chọn tương ứng đang tắt. Tiền tố namespace và cách viết entity như & và & cũng được so sánh chính xác như khi viết.
Có thể so sánh XML không đúng cú pháp không?
Không. Cả hai tài liệu phải được phân tích trước. Nếu một trong hai có lỗi, lỗi sẽ hiển thị bên dưới phía tương ứng kèm dòng và cột – hãy sửa ngay tại đó hoặc trong công cụ kiểm tra XML.
Dữ liệu của tôi có bị tải lên không?
Không. Việc so sánh diễn ra trong trình duyệt của bạn, và không có gì được gửi đến máy chủ.