把 XML 转换为 CSV
这个工具在你的浏览器中把 XML 文档转换为 CSV,让导出文件、订阅源或 API 响应变成表格软件可以直接打开的东西。层级最浅的重复元素会变成行,行之外的内容不会出现在表格里;如果没有重复的元素,文档会在其外层包裹之下给出一行。嵌套的元素会变成一个以 / 连接路径命名的列,属性保留 @ 前缀,在一行内重复出现的名字会在每一行里变成带编号的列,比如 tag[1] 和 tag[2]。每个值都完整保留文档中原来的字符串,分隔符是一个设置项。你的文件绝不会被上传。
在你的浏览器中运行
把文件拖到这里
XML,最大 50 MB
使用方法
- 1 选择一个 XML 文件。
- 2 如果结果不该用逗号,设置分隔符。
- 3 GRID16 在你的浏览器中找到行和列,写出表格。
- 4 下载 CSV。
常见问题
- 哪个元素会变成行?
- 兄弟节点中层级最浅、又会重复出现的元素。如果两个名字在同一层级都重复出现,出现次数更多的那个胜出,次数相同时以先出现的名字为准。行内部重复出现的元素,比如订单里的商品项,会留在行内,因为行元素会先被找到。
- 没有重复元素时会怎样?
- 文档会给出一行。解析过程会沿着不添加自己字段的外层元素往下走,所以只有一条记录的导出文件和有多条记录的导出文件会得到相同的列。
- 嵌套元素是怎么变成列的?
- 按照它从行元素开始、以 / 连接的路径命名:customer 里嵌套的 name 会变成 customer/name。属性保留 @ 前缀,所以 price 和 price/@currency 是两个不同的列。
- 一行内名字重复时会怎样?
- 会变成带编号的列,比如 tag[1] 和 tag[2],编号从 1 开始,并按见过的最大次数在每一行里保留;出现次数较少的行,缺少的列会留空。
- 值会被改动吗?
- 不会。每个值都完整保留文档中的字符串,不会被裁剪,也不会变成数字。空元素同样会有自己的列,单元格留空。
- 遇到无效的 XML、DOCTYPE 或没有值的文档会怎样?
- 任务会停下并说明原因。带有 DOCTYPE 或 ENTITY 声明的文档在解析前就会被拒绝,无法解析的 XML 会连同解析器自己的报错一起报告出来,像空根元素这样没有任何值可以放进表格的文档也会被拒绝。
- 我的文件会上传到服务器吗?
- 不会。转换在你的浏览器中进行,文件始终不会离开你的设备。