UltKit

XML转CSV转换器

把XML文件展平成可排序、筛选和导入的表格。每条重复记录变成一行,记录中的每个字段变成一列,可直接用于电子表格、数据库导入或邮件合并。

数据转换器

或将CSV, TSV, TXT … 文件拖放到此处 ·

单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除

输出

文件在我们的服务器上处理,并在 30 分钟后删除。

使用方法

  1. 1

    上传XML文件

    添加商品数据源、订单导出文件、站点地图,或任何包含重复记录的 XML。每批最多 20 个文件,每个文件不超过 95 MB。

  2. 2

    检查分隔符和编码

    输出默认使用逗号分隔和 UTF-8 编码。在高级设置中,可将分隔符改为分号以适配欧洲版 Excel;如果带重音符号的名称在 Excel 中显示为乱码,请将文本编码改为带 BOM 的 UTF-8。

  3. 3

    转换并打开

    点击转换为 CSV并下载。可以用电子表格打开该文件,或导入到需要 CSV 的工具中。

XML 转 CSV 会提取 XML 文件中重复出现的记录,按每个标签一列的方式排成行,让原本给机器读取的数据源变成人可以直接处理的表格。

哪些人需要把XML转换为CSV

XML 自 1998 年 2 月起成为 W3C 推荐标准,许多业务数据至今仍通过它传输:比价网站的商品数据源、UBL 电子发票、RSS 和 Atom 订阅源、XML 站点地图、ISO 20022 格式的银行对账单,以及老旧 CRM 和库存系统的导出文件。对于需要按模式校验的软件来说,这种格式非常合适,但对只想看看记录内容的人来说却不太方便。

这类人通常是检查商品数据源有无缺失价格的营销人员、核对发票明细的会计,或需要把导出数据载入只接受 CSV 的工具的分析师。转换后几秒钟就能得到一张表格,无需编写 XSLT 样式表或脚本。如果 XML 来自网络 API,下一步是写代码而不是用电子表格,可以用 JSON 转 CSV,以同样的方式处理更常见的 API 格式。

XML转CSV示例:商品数据源

输入:XML 数据源中的两条记录
<products>
  <product id="1042">
    <name>台灯</name>
    <price>39.00</price>
    <sku>00731</sku>
  </product>
  <product id="1043">
    <name>显示器支架, 黑色</name>
    <price>89.50</price>
    <sku>00732</sku>
  </product>
</products>
输出:同样的记录转为 CSV
id,name,price,sku
1042,台灯,39.00,00731
1043,"显示器支架, 黑色",89.50,00732

XML转CSV转换器如何把标签映射为列

  1. 记录变成行

    根元素下重复出现的元素(此处为 <product>)决定行。两个商品,就是两行数据。

  2. 标签和属性变成列

    id 属性以及 name、price、sku 子元素各占一列,列名写在表头行中。

  3. 仅在需要时加引号

    带逗号的名称会用双引号括起来,使逗号保留在值内部,这正是 RFC 4180 的规定。

每个 XML 文件
95 MB
每批文件数
20
种分隔符可选
6
后文件将被删除
30 分钟

XML与CSV对比一览

XML

可扩展标记语言

XML 是 W3C 于 1998 年发布的结构化数据标记语言。它使用带属性的嵌套标签,并支持模式、命名空间和验证,因此适合处理复杂文档。RSS 订阅、SVG、Office 文档、站点地图以及许多企业和政府的数据交换都以它为基础。XML 比 JSON 冗长,但所有编程语言和许多电子表格工具都能读取。

压缩方式
–
透明度
–
动画
–
发布年份
1998 · W3C
XML 转换器

CSV

逗号分隔值

CSV 是一种用于表格的纯文本格式,每一行是一条记录,列之间用逗号分隔。它从计算机早期就开始使用,RFC 4180 对其作了说明,不过许多变体使用分号或制表符,文本编码也各不相同。几乎所有电子表格、数据库和分析工具都能导入和导出 CSV,因此它是在系统之间传输数据的默认格式。CSV 只保存数值,不包含公式、格式、多个工作表或数据类型。

压缩方式
–
透明度
–
动画
–
发布年份
–
CSV 转换器

当数据源或系统导出的文件需要放进电子表格、邮件工具或只读取纯行数据的数据库,而不是嵌套标签时,人们就会把 XML 转成 CSV。

XML转CSV常见问题

转换器如何判断哪些内容是一行?

它会查找根元素下重复出现的元素,例如数据源中的每个 <product> 或站点地图中的每个 <url>,每出现一次就写成一行。该记录的子元素和属性会成为列,第一行为列名。

XML转成CSV会丢失哪些内容?

记录中所有不属于值的内容都会丢失:注释、处理指令、命名空间前缀以及嵌套结构本身。CSV 是一张扁平的表格,所以多层级的结构会被展开到多个列中。如果需要保留树状结构,请使用 XML 转 JSON,它会保留嵌套关系。

我的XML包含多种记录类型,怎么办?

如果一个文件的同一根元素下混有客户和订单等多种记录,就相当于包含两张表。CSV 每个文件只能放一张表,因此请先按记录类型把 XML 拆成多个文件,或者转换为 XLSX,这样每种类型都可以单独查看。

为什么商品编码前面的0不见了?

CSV 中仍然是 00731;Excel 在打开时会把该列猜测为数字,从而去掉前导零。请通过 Excel 的“数据”选项卡导入 CSV,并把该列设为文本;也可以使用 XML 转 Excel 直接转换为工作簿,省去猜测这一步。

能把XML站点地图转换成URL列表吗?

可以。站点地图由重复的 <url> 元素组成,因此每个页面会成为一行,loc、lastmod 以及其他标签都会成为列。这样就得到一份可排序的列表,可用于 SEO 审计或制定重定向方案。

生成的CSV遵循标准吗?

遵循 2005 年发布的 RFC 4180:每条记录一行,字段用逗号分隔,包含逗号、引号或换行的值用双引号括起来。如果导入工具要求每个字段都加引号,请开启所有值加引号。