XML 转义/反转义

转义与反转义 XML 特殊字符(& < > " '),可选数值引用、斜杠转义与 CDATA 包裹

关键信息

分类
转换与编码
输入类型
textarea, select, checkbox, text
输出类型
text
样本覆盖
4
支持 API
Yes

概览

本工具提供便捷的 XML 字符转义与反转义服务,支持对 &、<、>、"、' 等特殊字符进行快速编码与解码。您还可以根据安全与格式需求,选择转义斜杠、将非 ASCII 字符转换为数值引用,或直接将文本包裹在 CDATA 段中,以确保 XML 数据的正确解析与传输安全。

适用场景

  • 需要在 XML 文档的文本节点或属性值中安全地插入 <、> 或 & 等保留字符,避免解析器报错时。
  • 从外部系统接收到已转义的 XML 数据,需要将其还原为原始的可读文本进行排查时。
  • 编写包含大量特殊字符或代码片段的 XML 配置文件,并希望使用 CDATA 标签进行包裹以简化书写时。

工作原理

  • 在输入文本框中粘贴或输入需要处理的 XML 文本。
  • 选择“转义”或“反转义”操作,并根据需要配置转义引号、转义斜杠、非 ASCII 转数值引用或 CDATA 包裹等选项。
  • 工具将实时处理文本,并在输出区域生成符合 XML 规范的转义或反转义结果。

使用场景

准备 SOAP 接口请求体,对包含 HTML 标签或特殊符号的参数进行 XML 转义。
调试 Web Service 响应,将接收到的转义 XML 实体还原为清晰易读的原始数据。
编写 Android strings.xml 或 Maven pom.xml 配置文件,快速处理文本中的特殊字符。

用户案例

1. 网页代码片段转义以嵌入 XML

前端开发人员
背景原因
需要在 XML 格式的博客 RSS 订阅源中嵌入一段包含 HTML 标签的介绍文本。
解决问题
HTML 标签中的 < 和 > 会破坏 XML 的结构,导致解析器报错。
如何使用
将 HTML 文本输入到工具中,选择“转义”操作,保持默认的“转义引号”开启,然后点击生成。
示例配置
operation: "escape", escapeQuotes: true
效果
所有的 < 和 > 被成功转换为 &lt; 和 &gt;,可以安全地嵌入到 XML 节点中。

2. 使用 CDATA 包裹复杂 SQL 查询

后端开发人员
背景原因
在 MyBatis 的 XML 映射文件中编写包含比较运算符的 SQL 语句。
解决问题
SQL 中的小于号 < 会被 XML 解析器误认为是标签的开始,导致编译报错。
如何使用
输入 SQL 语句,选择“转义”操作,勾选“包裹在 CDATA 段中”,并在 CDATA 元素标签中输入 select。
示例配置
operation: "escape", useCDATA: true, cdataElement: "select"
效果
生成了被 <select><![CDATA[ ... ]]></select> 包裹的 SQL 语句,XML 解析器将直接忽略其中的特殊字符。

用 Samples 测试

xml, html, text

相关专题

常见问题

哪些字符会被默认转义?

默认会转义 XML 的五个核心预定义实体:& (amp)、< (lt)、> (gt)、" (quot) 和 ' (apos)。

为什么要转义斜杠(/)?

转义斜杠(转换为 &#47;)是 OWASP 推荐的安全实践,有助于防止某些上下文中的跨站脚本(XSS)或注入攻击。

什么是 CDATA 包裹,它有什么作用?

CDATA(字符数据)段用于告诉 XML 解析器该段落内的文本不应被解析为标记。这允许您直接书写 < 或 & 等字符而无需逐个转义。

非 ASCII 字符转换为数值引用有什么用?

将非英文字符转换为如 &#xNNNN; 的格式,可以确保 XML 文件在不支持特定字符集编码(如 UTF-8)的旧系统或传输通道中不出现乱码。

反转义操作会处理 CDATA 吗?

反转义主要用于将 XML 实体(如 &amp;)还原为原始字符。若要提取 CDATA 中的内容,通常需要先移除 CDATA 标记。

API 文档

请求端点

POST /zh/api/tools/xml-escape

请求参数

参数名 类型 必填 描述
inputText textarea -
operation select -
escapeQuotes checkbox -
escapeSlash checkbox -
numericNonAscii checkbox -
useCDATA checkbox -
cdataElement text -

响应格式

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
文本: 文本

AI MCP 文档

将此工具添加到您的 MCP 服务器配置中:

{
  "mcpServers": {
    "elysiatools-xml-escape": {
      "name": "xml-escape",
      "description": "转义与反转义 XML 特殊字符(& < > \" '),可选数值引用、斜杠转义与 CDATA 包裹",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=xml-escape",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。

如果遇见问题,请联系我们:[email protected]