XML转CSV

在你的设备上运行 · 你的文件从不离开你的设备。

拖入一个由重复记录组成的XML文件——<records><record>…</record>…</records>、RSS订阅源、数据库导出——得到一行一条记录的CSV。文档由浏览器的XML解析器读取,然后自动找到重复元素的列表:转换器从根元素往下,穿过只有一个子元素的外壳,直到找到列表为止。

每条记录的展平方式和JSON转CSV工具一样:嵌套元素变成点分隔的列(address.city),属性变成以@开头的列(@id),内部重复的元素变成带序号的列,表头是所有出现过的列的并集。含逗号、引号或换行的字段按RFC 4180加引号。

CSV是UTF-8,可选加BOM让Excel正确显示中文,分隔符由你选,下载前可以预览前200行。文件不上传。

如何XML转CSV

  1. 拖入XML文件,或者把XML粘贴到文本框。
  2. 选择输出的分隔符,决定要不要加Excel的BOM。
  3. 点击“转换为CSV”,看一下预览。
  4. 下载.csv。

支持的格式与限制

输入
XML(.xml)——文件或粘贴的文本,UTF-8
输出
CSV,RFC 4180,UTF-8,可选BOM
根元素下找到的重复元素
嵌套
子元素→点分隔的列;属性→@列
运行位置
在浏览器本地完成,不上传

不适用于: 同一层级有好几个不同列表的文档——只有从根元素最先到达的列表会变成行;想取另一个,先转成JSON再选。

常见问题

我的文件会上传到服务器吗?
不会。转换完全在你的浏览器里完成,用的是你自己设备的算力。文件不会离开你的电脑或手机——所以页面加载完成后,断网也照样能用。
它怎么知道哪些元素是行?
从根元素开始,顺着只有一个子元素的外壳往下走,直到找到一组重复元素——所以<records><record>…</record></records>就是每个<record>一行。没有重复元素时,整个文档变成一行。
属性去哪了?
变成以@开头的列,<record id="3">得到一列@id。和子元素并列的文本放进#text列。
Excel打开会乱码吗?
不会。“为Excel添加BOM”开关(默认打开)会写入Excel识别UTF-8所需的标记,中文和各种符号都能正确显示。

表格与数据中的更多工具

获得 CSV 的其他方式

相关工具