onlinetools.dev

Định dạng & kiểm tra XML

Trình bày đẹp, nén và kiểm tra XML với vị trí lỗi chính xác

Chạy cục bộ
loading…
Về công cụ này

Công cụ này trình bày XML cho đẹp mắt theo mức thụt lề bạn chọn, chỉ ra lỗi sai cấu trúc kèm đúng dòng và cột, và có thể nén tài liệu về một dòng. Chú thích, phần CDATA và phần khai báo mở đầu XML đều sống sót qua việc định dạng — số công cụ âm thầm nuốt mất chúng nhiều đến mức đáng ngạc nhiên.

Kiểm tra ở đây nghĩa là kiểm tra tính đúng cấu trúc: thẻ lồng nhau đúng cách, thuộc tính có dấu nháy, ký tự hợp lệ. Chừng đó bắt được tuyệt đại đa số tai nạn khi sửa tay — thiếu một dấu gạch chéo, một phần tử chưa đóng, một dấu và đi lạc. Việc kiểm tra theo lược đồ XSD được cố ý để ngoài phạm vi; chỗ của nó là trong quy trình build của bạn, nơi có sẵn tệp lược đồ.

Tệp cấu hình, dữ liệu SOAP, nguồn RSS và manifest Android thường xuyên chứa tên máy chủ nội bộ và khóa bí mật. Mọi thứ ở đây được phân tích cục bộ — không có gì được truyền đi.

Câu hỏi thường gặp

Vì sao XML của tôi báo lỗi “char … is not expected”?
Những thủ phạm quen mặt là một dấu & trần lẽ ra phải là &, một giá trị thuộc tính thiếu dấu nháy, hoặc các thẻ đóng sai thứ tự. Thông báo lỗi mang theo dòng và cột của ký tự sai đầu tiên, và ô nhập cũng đánh dấu vị trí đó.
Công cụ có sắp xếp lại hay chuẩn hóa tài liệu của tôi không?
Không. Các phần tử, thuộc tính và thứ tự của chúng được giữ nguyên chính xác; chỉ khoảng trắng giữa các phần tử thay đổi. Phần văn bản nằm chung dòng với thẻ sẽ bị cắt bớt và các chuỗi khoảng trắng bên trong bị gom lại — nếu bạn phụ thuộc vào khoảng trắng có ý nghĩa (xml:space="preserve"), hãy giữ những phần đó ở dạng đã nén.
Chế độ nén bỏ đi những gì?
Phần thụt lề và ngắt dòng giữa các phần tử, cộng thêm chú thích. Phần CDATA, chỉ thị xử lý và khai báo mở đầu vẫn còn nguyên. Kết quả được phân tích y hệt đối với mọi bên tiêu thụ không phụ thuộc vào các nút văn bản chỉ gồm khoảng trắng.
Nó có kiểm tra được theo XSD hay DTD không?
Không — công cụ chỉ kiểm tra tính đúng cấu trúc. Kiểm tra theo lược đồ cần có tệp lược đồ và một bộ máy XSD, việc đó nên làm trong chuỗi công cụ của bạn (xmllint --schema, hoặc thư viện XML của ngôn ngữ bạn dùng).
Công cụ liên quan