按 ⌘K 切换工具
ENCODE & DECODE
XML字符串转义工具
XML特殊字符的转义和反转义。
xml-escape
§01 关于此工具
概述
XML 保留了五个字符——&、<、>、"、'——在元素内容和属性值里必须写成实体,
否则文档无法解析。写 XML 时最常见的解析失败,就是正文里出现了一个裸的 & 或 <。
这个工具既能把文本转义成可以安全嵌入 XML(配置文件、SVG、RSS、SOAP 报文)的形式,
也能把满是实体的 XML 还原成可读文本。属性值里的引号是另一个常见的触发点——
用双引号包裹的属性里再出现一个双引号,文档同样解析不了。
使用方法
- 选择 Escape 把纯文本转成实体,或者选 Unescape 反向还原。
- 把输入粘贴到 XML text(或 Escaped XML)输入框。
- 从 Result 框读取或复制转换结果,它随着你的输入更新。
示例
<node attr="v">A & B</node>→<node attr="v">A & B</node>Tom & Jerry→Tom & Jerry
说明
手工转义时顺序很要紧——& 必须先转,否则会把已有的实体二次转义;
工具在一趟遍历里就把这件事处理好了。替换只针对这五个字符,其他内容不动,
所以中文和其他非 ASCII 字符保持原样。这些实体在 HTML 里同样有效,
但 HTML 还定义了远多于此的命名实体( 、© 等),
这个面向 XML 的工具刻意不去解码它们。对已经转义好的文本再转一次,
会得到 &lt; 这样的双重实体,遇到时先解码一次即可还原。
FAQ
我的输入会被发送到服务器吗?
不会。这五个字符的替换完全在浏览器内作为一次简单的字符串操作完成,没有任何内容离开你的机器。
哪些字符会被转义?
XML 的五个特殊字符:& 变成 &,< 变成 <,> 变成 >,双引号变成 ",单引号变成 '。
Unescape 能处理数字实体吗?
它会解码那五个命名实体,外加 '(数字形式的单引号)。其他数字字符引用,例如 あ,会原样保留。