XML特殊字符处理:需要注意的符号

77 0

XML(可扩展标记语言)是 W3C 于 1998 年发布的标记语言标准,用成对的标签描述数据结构,例如 <name>张三</name>。下面重点说明需要注意的符号。

XML特殊字符处理

XML 只预定义了 5 个实体:&lt; <、&gt; >、&amp; &、&quot; "、&apos; '。其他字符用数字实体(&#20013;)或直接写 UTF-8 字符。

示例

输入:<note date="2026-11-11"><to>Tom</to><body>Hi</body></note>

XML 转 JSON结果:

{
  "note": {
    "@date": "2026-11-11",
    "to": "Tom",
    "body": "Hi"
  }
}

说明:属性加 @ 前缀,同名子元素合并为数组(常见约定)。

注意事项

  • 解析外部 XML 时要禁用外部实体,防止 XXE 攻击
  • XML 转 JSON 没有唯一标准,属性和同名元素的表示方式因工具而异
  • 声明的 encoding 必须与文件实际编码一致
  • 文本中的 & 和 < 必须转义

Python 示例

下面是 Python 中处理XML的常用写法:

import xml.etree.ElementTree as ET
root = ET.fromstring("<user><name>张三</name></user>")
print(root.find("name").text)   # 张三
# 解析不可信数据建议用 defusedxml

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

本站的XML/JSON互转工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【XML 转 JSON 属性怎么表示?】常见约定是在属性名前加 @,文本内容用 #text 表示。

【XML 文件开头的声明必须写吗?】不是必须的,没有声明时默认 XML 1.0、UTF-8。

【什么是 XXE?】XML 外部实体注入,攻击者通过 DOCTYPE 引用本地文件或内网地址,解析时应禁用外部实体。

文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 文本处理

抱歉,评论功能暂时关闭!