Mã hóa
XML Entities Encode/Decode
Mã hóa và giải mã thực thể XML — 5 thực thể chuẩn (dấu và, dấu ngoặc nhọn, dấu nháy đơn, dấu ngoặc kép) và tham chiếu ký tự số.
Unlike HTML, XML strictly requires escaping five special characters (&, <, >, ', "), or the document is considered invalid. This tool encodes and decodes those entities, as well as numeric character references.
How to use it
- Encode: paste text and the five reserved characters get replaced with their matching entities (&, <, >, ', ").
- Decode: paste XML containing entities to get plain text back.
- Numeric character references (& or &) are supported too, for characters outside the standard five.
Common uses
- Preparing user text for insertion into an XML document (an RSS feed, a SOAP request, a config file).
- Debugging why an XML parser rejects a document — often the cause is an unescaped ampersand or angle bracket inside the text.
- Decoding content received from an XML-based API to read it in its original form.
Things to keep in mind
XML parsers are much stricter than HTML: a single unescaped entity invalidates the entire document, not just one element.
CDATA sections (<![CDATA[...]]>) are an alternative to escaping for large blocks of text, letting you insert arbitrary content without replacing every special character individually.
Bài viết về công cụ này: XML Entities: escape ký tự trong tài liệu XML
Câu hỏi thường gặp
5 thực thể XML được định nghĩa sẵn là gì?
XML chỉ định nghĩa sẵn năm thực thể có tên: & (dấu và), < và > (dấu ngoặc nhọn), ' (dấu nháy đơn) và " (dấu ngoặc kép). Bất cứ thứ gì khác cần tham chiếu ký tự dạng số.
Điều này khác gì so với mã hóa thực thể HTML?
HTML định nghĩa một tập thực thể có tên lớn hơn nhiều (như hay ©), trong khi XML nghiêm ngặt chỉ nhận ra năm thực thể định nghĩa sẵn — mọi ký tự đặc biệt khác trong XML phải dùng tham chiếu số như © hoặc ©.
Khi nào tôi cần thoát các thực thể XML?
Hãy thoát các ký tự như < > & ' " bất cứ khi nào chúng xuất hiện trong nội dung văn bản hoặc giá trị thuộc tính của tài liệu XML, để trình phân tích không nhầm chúng là markup và không phân tích được tệp.
CDATA là gì và khi nào nên dùng thay vì entity?
Khối <![CDATA[...]]> cho phép chèn một đoạn văn bản mà không cần escape < và & — tiện lợi cho các đoạn mã hoặc HTML lớn nằm trong XML. Ngoại lệ là chuỗi ]]>, vốn dùng để đóng CDATA và không thể xuất hiện trong chính nội dung đó.
Các trình phân tích XML có xử lý entity không hợp lệ giống nhau không?
Không, và khác với trình duyệt vốn "bỏ qua" lỗi trong HTML, trình phân tích XML rất nghiêm ngặt: chỉ một dấu và hay dấu ngoặc nhọn chưa escape cũng khiến toàn bộ tài liệu không hợp lệ, và quá trình xử lý dừng lại với lỗi.