跳到正文

XML 转 JSON、CSV、Excel

把 XML 转成 JSON、CSV 或 Excel,也能把 JSON、CSV、Excel 转回 XML,可自选属性、数组和重复元素的处理方式。所有转换都在浏览器中完成。

转换为
把 XML 文件拖到这里XML 最大 100 MB · JSON、CSV、XLSX、XLS、ODS 最大 500 MB
选择文件在你的设备上处理,不会上传
在浏览器中运行 · 无需上传工作原理

XML 转换器 使用方法

  1. 1

    添加文件或粘贴文本

    拖入 XML、JSON、CSV 或 Excel 文件,也可以直接粘贴文本。工具会根据内容自动识别输入类型。

  2. 2

    选择目标格式

    XML 可以转换为 JSON、CSV 或 Excel;JSON、CSV 和 Excel 工作表可以转换为 XML。与你的输入不适用的格式会显示为灰色。

  3. 3

    调整映射方式

    设置属性、重复元素和命名空间的处理方式,指定哪个元素对应一行,或设置根元素和行元素的名称。

  4. 4

    复制或下载

    修改选项后结果会立即更新;你可以复制文本,或下载 .json、.xml、.csv、.xlsx 文件。

限制与 Pro

XML 文件最大 100 MB;JSON、CSV 和 Excel 文件最大 500 MB。

JSON、CSV 和 Excel 文件最大 4 GB;由于整个文档都要载入内存,XML 在所有套餐中都保持 100 MB 的限制。 了解 Pro

关于 XML 转换器

XML 转换器用于在 XML 与其他软件常用的格式之间转换数据。一个方向是读取 XML 文档,例如供应商价目表、银行或税务导出文件、RSS 订阅源、GPX 轨迹、SOAP 响应,并输出为 JSON、CSV 文件或 Excel 工作表。另一个方向是把 JSON、CSV 文件或电子表格转换成 XML,供只能导入 XML 的系统使用。

XML 与 JSON 之间没有唯一的映射方式,所以由你来决定:属性写成 "@id" 这样的键、写成普通键,或直接省略;元素同时带有属性或子元素时,其文本放在 "#text" 下;重复元素写成数组,或让所有子元素都成为数组以保持结构稳定;数字和 true/false 按类型输出或保留为字符串;dc: 之类的命名空间前缀可以保留或去掉。

转换为表格时,选择重复出现的元素,例如 catalog › book、rss › channel › item,每个元素对应一行。属性和嵌套元素会变成 price.currency 这样用点号命名的列;重复的子元素可以合并在一个单元格中,或展开为带编号的多列。

生成 XML 时,键和列标题会成为元素名称(“Unit price”这类无效名称会写成 Unit_price),数组会重复输出对应元素,输出可以缩进或写成一行,也可以选择是否带 XML 声明。

解析器检查严格:格式不正确的文件会报告第一处错误的行号和列号。注释和处理指令不会写入输出,DTD 和外部实体不会被加载,与行内标签混排的文本会合并为一个值。

隐私

XML、JSON 和电子表格由当前标签页中的 Web Worker 解析和转换;不会上传任何内容,不会获取外部 DTD 或实体,粘贴的文本也不会被保存。

功能

XML ↔ JSON

属性用 @ 键,重复用数组,类型和命名空间自行设置。

XML ↔ CSV 和 Excel

选择重复元素,嵌套标签会变成列。

输出有效的 XML

自动修正名称、转义特殊字符,可缩进或紧凑输出。

清晰的错误提示

显示第一处格式错误的行号和列号。

XML 转换器:常见问题

XML 属性会怎样转换为 JSON?
默认情况下,每个属性会变成带 @ 前缀的键,所以 <book id="7"> 会得到 "@id": 7,元素自身的文本则放在 "#text" 下。你也可以去掉 @ 得到普通键,或者完全不输出属性。把这样的 JSON 转回 XML 时,@ 键会重新变成属性,两个方向可以互相还原。
为什么同一个值在一条记录里是数组,在另一条里是对象?
同一父元素下出现多次的元素会变成数组,只出现一次的则是单个值,大多数转换器都是这样处理的。如果你的代码需要每次都是相同的结构,可以打开“始终使用数组”:这样所有子元素都会写成数组,即使只出现一次也一样。
XML 的哪个元素会成为 CSV 或 Excel 中的一行?
工具会自动选择从文档顶部算起第一个重复出现的元素,例如 catalog 中的 book、RSS 订阅源中的 item、订单导出中的 order。列表会显示所有重复元素及其出现次数,你也可以改选更深一层的元素,例如每个订单里的订单行。
可以把 CSV 或 Excel 工作表转换成 XML 吗?
可以。拖入 CSV 或工作簿,然后选择 XML。每一行会成为根元素(默认是 rows)中的一个元素(默认是 row,可重命名),每一列会成为以标题命名的子元素,也可以选择写成属性。含空格或以数字开头的标题会被自动调整,以保证 XML 有效。
XML 有错误时会怎样?
转换会停止,并提示问题所在及位置,例如第 12 行的结束标签与第 9 行的开始标签不匹配、出现未转义的 & 或缺少引号。解析器会按 XML 1.0 规则检查标签、属性、引号和实体,让问题在这里暴露,而不是等到导入目标系统时才出现。

此工具的其他用途