CSV 转 XML 转换器
粘贴 CSV/TSV 数据,即可转换为将每一行作为一条记录的 XML(格式为
CSV 转 XML 是什么
需要把表格数据以 XML 形式处理的场景至今依然存在:老牌业务系统的导入规格、报表引擎的输入、以及部分 API。本工具只要粘贴 CSV 或 TSV,就能把每一行转换成一条记录的 XML。输出采用 `
第一行会被读作表头,各列的标题会用作标签名。不过 XML 的标签名有限制,因此**以数字开头、为空、或含有不可用字符的标题,会自动替换为 `column1`、`column2` 这样的连续编号。** 值中包含的 `&` `<` `>` 会转义为实体引用。所有处理都在浏览器中完成,因此像客户信息这类不希望外传的数据也可以放心处理。
把 CSV 转换成 XML 的步骤
- 粘贴 CSV 或 TSV 第一行作为表头,第二行以后作为数据读取。也支持制表符分隔。
- 确认标签名 标题会直接成为标签名。中文标题无法用作标签名,会被替换成编号,请留意这一点。
-
查看生成的 XML
最顶层是 `
`,每一行作为 ` ` 排列其中。
- 复制后交给下一步处理 可以直接用于 XSLT 整形,或作为接收 XML 的系统的输入。
用好本工具的小技巧
- 启用"将首行作为表头处理"后,表头行的列名会直接用作 XML 标签名(若列名不符合 XML 标签命名规则,例如以数字开头或包含符号,则会自动回退为 `column1`、`column2` 等)。
- 如果不使用表头,则所有行都会被视为数据行,各列会使用 `column1`、`column2` 等标签名。
- 在需要 XML 而非 CSV 的场景中使用本工具,例如传统的基于 XML 的 API、SOAP 对接,或部分业务系统的数据导入。
- 生成的 XML 会通过字符实体引用(
&、<、>)安全转义特殊字符,可直接导入外部系统。
这些场景会用到
导入只接受 XML 的系统
可以把用电子表格做好的数据,整理成要求 XML 的核心系统能接收的形式。
制作报表引擎的数据源
许多报表引擎以 XML 作为数据源,从 CSV 可以快速做出试作品。
准备 XSLT 的练习数据
编写转换样式表时,可以立刻从手头的表格准备出示例 XML。
用眼睛确认数据结构
把列与值的对应关系以 XML 的嵌套形式来看,有时比原本的 CSV 更容易把握结构。
CSV 转 XML 的术语
- 标签名的限制
- XML 的标签名必须以字母或下划线开头,不能包含空格和多数符号。**不符合这一限制的标题会自动替换为 `column1` 这样的名称。**
- 实体引用
- 把 `&` `<` `>` 改写为 `&` `<` `>` 的处理。**必须先转换 `&`,否则会变成二次转义。**
- row 元素
- 表示一行数据的元素。本工具以在 `
` 中排列 ` ` 的结构输出。
- TSV
- 以制表符分隔的表格数据。从电子表格复制粘贴时通常就是这种格式。
- 表头行
- 写在第一行的列标题。它是标签名的来源,因此只用字母、数字和下划线书写,转换后也会更易读。
常见问题
&、<、> 等 XML 特殊字符转义为字符实体引用(&、<、>)后再输出,因此即使单元格内容中包含这些字符,生成结果依然是可正确解析的合法 XML。
闲话 ― XML 为何被称为"冗长"
XML(可扩展标记语言)于 1998 年由 W3C 标准化,在 2000 年代初期的 Web 行业中,作为"系统间数据交换的标准格式"占据了压倒性的地位。从 SOAP、XML-RPC 等通信协议,到 RSS、Atom 的订阅推送,乃至 Maven 的 pom.xml 等配置文件,XML 几乎无处不在。
然而,由于 XML 需要为每个元素明确书写开始和结束标签,在表示相同数据时,往往比 2000 年代中期以后普及的 JSON 占用更多的数据量,因而被评价为"冗长(verbose)"。例如,JSON 中的 `{"name":"Alice"}` 对应的 XML 写作 <name>Alice</name>,标签本身的字符数常常比数据本身还要多。
尽管如此,XML 拥有 JSON 所不具备的成熟规范体系,例如通过 XML Schema 进行严格的类型与结构校验、通过命名空间避免冲突、通过 XSLT 进行转换处理等。如今,金融、医疗、政务等对可靠性要求极高的系统对接中依然选择 XML,这套完善的校验与转换生态正是原因之一。