00

先看结论

  • XML 是一种用于描述和交换结构化信息的可扩展标记语言,文档必须只有一个根元素,元素正确嵌套,且起始标签与结束标签的名称匹配。
  • 在 Windows 或 Mac 上,从 XML 编辑器或理解该数据的专用应用中选择“打开”,再选取文件。在手机上,选择明确支持该设备的 XML 查看器或相关应用。需要在线查看时,先确认工具接受的输入方式和文件处理方式。能显示 XML 结构,不代表能执行原应用的业务功能。
  • 解析风险取决于解析器配置。允许外部实体可能造成文件泄露、服务器端请求伪造或内部网络访问;实体展开还可能造成拒绝服务。OWASP 建议在不需要时禁用 DTD 和外部实体。正常解析只能说明相应语法可被处理,不能证明文件来源或内容可信。
01

XML 文件是什么,如何打开与转换

XML 全称为 Extensible Markup Language,由 W3C 制定,是 SGML 的子集。元素可以包含属性和文本。RFC 7303 注册了 application/xml,并将 text/xml 定义为其别名。XML 没有通用魔数,不能用某个固定文件头识别所有 XML 文件。通用工具可以处理 XML 语法,数据的具体含义和用途仍取决于应用。

先把原文件留着

XML 转 Excel、JSON 或纯文本前,应明确嵌套元素、属性和混合内容的映射规则。简单表格或纯文本可能丢失层级及内容之间的关系。解析后再导出也不保证逐字节一致:换行和属性值会发生规范化,注释也可能被遗漏。需要保留原始排版、注释或字节内容时,应保存原文件。

02

怎么打开

在 Windows 或 Mac 上,从 XML 编辑器或理解该数据的专用应用中选择“打开”,再选取文件。在手机上,选择明确支持该设备的 XML 查看器或相关应用。需要在线查看时,先确认工具接受的输入方式和文件处理方式。能显示 XML 结构,不代表能执行原应用的业务功能。

只想看看内容

在 Windows 或 Mac 上,从 XML 编辑器或理解该数据的专用应用中选择“打开”,再选取文件。在手机上,选择明确支持该设备的 XML 查看器或相关应用。需要在线查看时,先确认工具接受的输入方式和文件处理方式。能显示 XML 结构,不代表能执行原应用的业务功能。

要发给别人

XML 转 Excel、JSON 或纯文本前,应明确嵌套元素、属性和混合内容的映射规则。简单表格或纯文本可能丢失层级及内容之间的关系。解析后再导出也不保证逐字节一致:换行和属性值会发生规范化,注释也可能被遗漏。需要保留原始排版、注释或字节内容时,应保存原文件。

03

文件安全

解析风险取决于解析器配置。允许外部实体可能造成文件泄露、服务器端请求伪造或内部网络访问;实体展开还可能造成拒绝服务。OWASP 建议在不需要时禁用 DTD 和外部实体。正常解析只能说明相应语法可被处理,不能证明文件来源或内容可信。

这几种情况先别打开

来路不明、文件名带两个后缀,或者内容和扩展名对不上——先停下来核对。

04

转换格式

XML 转 Excel、JSON 或纯文本前,应明确嵌套元素、属性和混合内容的映射规则。简单表格或纯文本可能丢失层级及内容之间的关系。解析后再导出也不保证逐字节一致:换行和属性值会发生规范化,注释也可能被遗漏。需要保留原始排版、注释或字节内容时,应保存原文件。

转换之前

先复制一份原文件再转换,转完对照看看画质、元数据和排版有没有变。

05

常见问题

XML 文件是什么格式,主要用来做什么?

XML 是 W3C 制定的可扩展标记语言,用元素、属性和文本描述及交换结构化信息。通用 XML 工具可以处理语法,但文件中数据的含义和用途要由相应应用解释。

XML 文件用什么软件打开,如何在线查看 XML 文件内容?

可以使用通用 XML 编辑器、解析器或理解该数据的专用应用。在线查看时,先确认查看器支持的输入方式及文件处理方式,不要默认文件始终留在本机。结构显示不等于具备原应用的功能。

Windows 怎么打开 XML 文件?

在 XML 编辑器或相关专用应用中使用“打开”选择文件。只需查看结构时可选择通用 XML 工具;需要使用数据对应的业务功能时,应使用理解该数据的应用。

Mac 怎么打开 XML 文件?

选择支持 macOS 的 XML 编辑器,或理解该文件数据的应用,再通过“打开”选取文件。支持 XML 语法不代表能够解释所有应用专用的数据含义。

手机怎么打开 XML 文件?

选择明确支持你所用手机的 XML 查看器或相关应用,并使用其文件打开功能。使用前确认应用列出了你的手机操作系统及可接受的文件大小。

XML 文件格式错误怎么检查,标签不匹配怎么办?

用 XML 解析器或编辑器定位语法问题,检查是否只有一个根元素、元素是否正确嵌套,以及起始标签和结束标签的名称是否一致。修正语法后,仍需确认数据满足目标应用的要求。

XML 文件中文乱码怎么解决,编码声明要检查什么?

先核对文件实际字节编码与编码声明是否一致。符合 XML 规范的处理器必须支持 UTF-8 和 UTF-16,其他编码并非强制支持。编码不一致可能造成致命解析错误;只修改声明并不会转换实际字节。

保留结构化数据时,应该选择 XML 还是纯文本?

需要保留元素层级和属性时,应选择 XML。仅阅读文字时可考虑纯文本,但如果没有明确映射规则,纯文本导出可能丢失层级、属性和混合内容之间的关系。

XML 转 Excel 会丢失哪些数据,怎样保留结构?

简单表格可能丢失嵌套层级、属性以及文本与子元素混合出现时的关系。转换前应定义重复元素、嵌套元素、属性和混合文本如何对应行列,并核对转换工具的映射规则及结果。

XML 转 JSON 如何保留属性和层级?

应明确属性与元素的区分方式、嵌套关系的对应方式,以及需要时如何保留混合内容的顺序。不能默认转换工具会完整保留这些关系,应检查其映射规则和输出数据。

打开 XML 文件有安全风险吗,陌生人发来的文件怎么处理?

风险与解析器配置有关。外部实体可能导致文件泄露或网络请求,实体展开可能耗尽资源。处理不可信 XML 时,应使用按 OWASP 建议关闭不必要 DTD 和外部实体的解析器;能打开不代表内容可信。

XML 文件解析后重新导出,能保持原文件逐字节不变吗?

不能保证。XML 解析会执行换行和属性值规范化,处理器也可能不向应用提供注释。若需要保留原始排版、注释或字节一致性,应保留原文件,不能只依赖重新导出的版本。

06

相关格式

资料来源

Extensible Markup Language (XML) 1.0 (Fifth Edition) · W3C 官方推荐标准

RFC 7303: XML Media Types · IETF 标准轨道 RFC,包含媒体类型注册

XML External Entity Prevention Cheat Sheet · OWASP 官方安全指南