⌘K 切换工具
ENCODE & DECODE

XML字符串转义工具

XML特殊字符的转义和反转义。

local
xml-escape
§01 关于此工具

概述

XML 保留了五个字符——&<>"'——在元素内容和属性值里必须写成实体, 否则文档无法解析。写 XML 时最常见的解析失败,就是正文里出现了一个裸的 &<。 这个工具既能把文本转义成可以安全嵌入 XML(配置文件、SVG、RSS、SOAP 报文)的形式, 也能把满是实体的 XML 还原成可读文本。属性值里的引号是另一个常见的触发点—— 用双引号包裹的属性里再出现一个双引号,文档同样解析不了。

使用方法

  1. 选择 Escape 把纯文本转成实体,或者选 Unescape 反向还原。
  2. 把输入粘贴到 XML text(或 Escaped XML)输入框。
  3. Result 框读取或复制转换结果,它随着你的输入更新。

示例

  • <node attr="v">A & B</node>&lt;node attr=&quot;v&quot;&gt;A &amp; B&lt;/node&gt;
  • Tom &amp; JerryTom & Jerry

说明

手工转义时顺序很要紧——& 必须先转,否则会把已有的实体二次转义; 工具在一趟遍历里就把这件事处理好了。替换只针对这五个字符,其他内容不动, 所以中文和其他非 ASCII 字符保持原样。这些实体在 HTML 里同样有效, 但 HTML 还定义了远多于此的命名实体(&nbsp;&copy; 等), 这个面向 XML 的工具刻意不去解码它们。对已经转义好的文本再转一次, 会得到 &amp;lt; 这样的双重实体,遇到时先解码一次即可还原。

FAQ
我的输入会被发送到服务器吗?
不会。这五个字符的替换完全在浏览器内作为一次简单的字符串操作完成,没有任何内容离开你的机器。
哪些字符会被转义?
XML 的五个特殊字符:& 变成 &amp;,< 变成 &lt;,> 变成 &gt;,双引号变成 &quot;,单引号变成 &apos;。
Unescape 能处理数字实体吗?
它会解码那五个命名实体,外加 &#39;(数字形式的单引号)。其他数字字符引用,例如 &#x3042;,会原样保留。