You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将普通文本转换为XML文档可兼容的转义文本?

XML文本转义方法

当然有办法,你需要的是XML字符转义——把XML语法里的特殊字符替换成预定义的实体引用,避免解析报错。

核心转义规则

XML里有5个必须转义的特殊字符,对应关系如下:

  • " → "
  • < → &lt;
  • > → &gt;
  • & → &amp;(注意:这个要优先替换,否则其他转义后的&会被二次处理)
  • ' → &apos;

具体实现方式

1. 手动替换(少量文本)

直接对照上面的规则,把文本里的特殊字符逐个替换就行,适合短文本快速处理。

2. 编辑器批量替换(大量文本)

用VS Code、Sublime Text等编辑器的正则替换功能:

  • 打开替换面板(快捷键Ctrl+H)
  • 勾选「正则表达式」选项
  • 按顺序执行替换:
    1. 查找&,替换为&amp;
    2. 查找"",替换为"`
    3. 查找<,替换为&lt;
    4. 查找>,替换为&gt;
    5. 查找',替换为&apos;

3. 脚本自动化处理(批量文件/集成工作流)

用Python内置工具就能轻松实现,无需额外安装依赖:

import xml.sax.saxutils as saxutils

# 读取原文本
with open("text.txt", "r", encoding="utf-8") as f:
    original_text = f.read()

# 执行转义
escaped_text = saxutils.escape(original_text)

# 保存转义后的内容
with open("escaped_text.txt", "w", encoding="utf-8") as f:
    f.write(escaped_text)

替代方案:CDATA块

如果你的文本包含大量特殊字符,也可以把内容放在XML的<![CDATA[...]]>块里,这样不需要转义任何字符,XML解析器会把块内内容当作纯文本处理:

<desc>
    <![CDATA[
        This is some "text" I'd like to put into an .xml document
    ]]>
</desc>

内容的提问来源于stack exchange,提问作者Anne Quinn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 01:31:19