XML 转 CSV
把 XML 转成 CSV 或 TSV:自动检测重复的记录元素,属性和嵌套元素成为以点分路径命名的列。在浏览器中运行。
记录:位于 catalog/book 的每个 <book>(离根最近、带属性或子元素的重复元素)。若要选择其他元素,请输入路径,例如 catalog/book/tag。
| @id | @lang | author | title | price | price.@currency | tag |
|---|---|---|---|---|---|---|
| bk101 | en | Gambardella, Matthew | XML Developer's Guide | 44.95 | USD | xml | programming |
| bk102 | Ralls, Kim | Midnight Rain | 5.95 | EUR |
来自商店、银行、订阅源和老系统的 XML 导出文件,在放进电子表格之前既难读也无法排序。粘贴 XML,就能得到每条记录一行的 CSV(或 TSV):转换器会找出重复的记录元素——每个 <book>、<item> 或 <order>——并把它的属性和子元素变成列,嵌套数据则使用 price.@currency 或 ship.city 这样的点分路径。值会被正确解码并加引号,所以逗号、引号和换行都能完整地进入 Excel。
使用方法
- 粘贴 XML(会先检查其格式是否正确)。
- 记录元素留空则自动检测,也可以输入 item 或 channel/item 这样的名称或路径。
- 选择分隔符:逗号、分号或制表符。
- 选择属性的命名方式,以及重复子元素的处理方式。
- 复制 CSV,或先查看预览表格。
计算公式
记录元素 → 行 · 属性 → @名称 列 · 子元素 → 列 · 嵌套子元素 → 父.子 列
列按首次遇到的顺序出现,没有值的记录对应空单元格。重复的子元素会用分隔符合并到一个单元格,或展开为编号列(tag.1、tag.2)。含有分隔符、引号或换行的字段会按 RFC 4180 的规定用双引号括起,内部的引号写成两个;行默认以 CRLF 结尾。
示例
在示例 catalog 中,<book> 重复出现,得到 2 条记录和 7 列:@id、@lang、author、title、price、price.@currency 和 tag。第一行是 bk101,en,"Gambardella, Matthew",XML Developer's Guide,44.95,USD,xml | programming——author 含有逗号所以加了引号,两个 tag 合并在一个单元格里。第二本书没有 lang 和 tag,所以这些单元格为空。
常见问题
记录元素是如何选定的?
在同一父元素下重复出现的元素中,带属性或子元素的优先于单纯的重复值(书的 <tag>);在这些元素里,离根最近的优先,其次是出现次数最多的。如果这不是你想要的,请输入元素名或从根开始的路径。
为什么 Excel 把所有内容都显示在一列里?
许多欧洲区域设置的 Excel 期望使用分号。请选择分号分隔符,或使用“数据 → 从文本/CSV”并选择逗号。
命名空间怎么处理?
开启“去除命名空间前缀”后,soap:Body 和 atom:entry 会变成 Body 和 entry,xmlns 属性会被丢弃;关闭则会在列名中保留前缀。
我的 XML 会被上传吗?
不会,转换在你的浏览器中完成。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/xml-to-csv-tool/
引用此工具
kakaoCalc. (2026, November 8). XML 转 CSV. https://kakao.mobile/zh/tools/xml-to-csv-tool/
“XML 转 CSV.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/xml-to-csv-tool/.