UltKit

TXT转XML转换器

每行一条记录的文本文件写起来方便,但很难导入需要标签化数据的系统。上传.txt文件,即可得到格式规范的XML:每行一个元素,表头名称作为标签。

数据转换器

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

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

输出

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

使用方法

  1. 1

    上传分隔文本文件

    添加一个第一行为列名的 .txt 文件,最多可添加 20 个文件,每个不超过 95 MB。分隔符默认为自动检测。

  2. 2

    设置外层元素名称

    在高级设置中,本页的 XML 根标签设为 records。可改成接收系统要求的名称,例如 products 或 employees。

  3. 3

    转换为XML

    点击转换为 XML。格式化输出已开启,因此文件带有缩进,用任何文本编辑器或浏览器都方便检查。

文本文件的每一行会变成一个行元素,每一列会变成以表头命名的标签,所有内容都位于你所选的根标签之内。

为什么要把TXT文件转换为XML

带分隔符的文本文件是脚本、扫描设备和老式数据库默认生成的格式。而许多接收系统是围绕 XML 设计的:商品目录、图书馆和出版工具、翻译软件,以及按名称读取元素的配置加载器。XML 1.0 作为 SGML 的简化形式,于 1998 年 2 月成为 W3C 推荐标准,此后多年间的大量企业软件至今仍在使用它。

两者之间的差别主要是机械性的,所以在文本编辑器里手动转换是白白浪费一下午。典型场景包括:把仓库导出的数据转成网店的 XML 导入文件、为翻译工具准备术语表,或为读取 XML 测试数据的应用生成测试记录。如果源文件本身就是逗号分隔的,对应页面是 CSV转XML。

TXT转XML转换器可拆分的文本格式

from ↓ · to →XMLJSONCSV
逗号 ,逗号 , to XML: yes逗号 , to JSON: yes逗号 , to CSV: yes
分号 ;分号 ; to XML: yes分号 ; to JSON: yes分号 ; to CSV: yes
TabTab to XML: yesTab to JSON: yesTab to CSV: yes
竖线 |竖线 | to XML: yes竖线 | to JSON: yes竖线 | to CSV: yes
Single spaceSingle space to XML: yesSingle space to JSON: yesSingle space to CSV: yes
固定宽度列– 固定宽度列 to XML: no– 固定宽度列 to JSON: no– 固定宽度列 to CSV: no
supported not offered**分隔符**设为自动检测时会从文件中识别分隔符;如果某个值包含自动检测选中的字符,请自行选择。仅靠位置对齐、没有分隔符的列无法拆分。

TXT转XML输出示例

输入行 sku|name|price 和 A-1001|Desk lamp|24.90,使用 XML 根标签 records 并开启格式化输出转换
<records>
  <row>
    <sku>A-1001</sku>
    <name>台灯</name>
    <price>24.90</price>
  </row>
</records>

由于表头名称会变成标签,它们必须是有效的 XML 名称:以字母或下划线开头,且避免空格和符号。像 Unit Price 这样的表头,转换前最好改写为 unit_price。如果接收系统最终更适合 JSON,TXT转JSON 会把同一行表头用作键,而数据格式转换列出了所有其他目标格式。

纯文本与XML格式要点

TXT

纯文本

TXT 文件只包含纯字符,没有格式、字体、图片或版面。现代文本文件通常采用 UTF-8 编码,可涵盖所有语言,而较旧的文件可能使用其他编码,从而显示乱码。纯文本体积极小,永不过时,从手机到服务器的所有设备都能打开。它无法保存粗体、表格或图片,结构只能靠间距或简单标记来表达。

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

XML

可扩展标记语言

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

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

当扁平的导出数据需要导入只接受带标签记录的系统时,就要把分隔文本转成 XML,例如 CMS 或商店导入、配置加载器,或者另一端早在 JSON 流行之前就围绕 XML 构建的集成系统。

TXT转XML常见问题

文本文件必须有表头行吗?

应该有表头,因为表头名称会成为每个值外层的元素名。如果导出的文件一开头就是数据,请先在文本编辑器中于顶部加一行,例如 sku|name|price,再进行转换。

外层元素能否不叫records,改成别的名称?

可以。XML 根标签最多接受 64 个字符,须以字母或下划线开头,后面可以是字母、数字、点、连字符或下划线。文本文件的每一行会作为一个行元素写入根标签内。

值里的&和<字符会怎样处理?

它们会按 XML 规范转义为 &amp; 和 &lt;,因此像 Smith & Sons 这样的公司名不会破坏文件。任何 XML 解析器在读取数据时都会将它们还原为原来的字符。

为什么XML比文本文件大这么多?

每个值都包在重复列名的起始标签和结束标签中,格式化输出还会再加上缩进。文件体积是源文件的数倍很正常。如需紧凑版本,请关闭格式化输出。

值能否写成属性而不是子元素?

不会。转换器把每个值写成独立的子元素,这是大多数导入工具接受的结构。如果合作方明确需要属性,可以用 XSLT 样式表一次性调整转换后的文件。

文件来自旧版Windows程序,带重音符号的名称会保留吗?

转换前请把文本编码设为 Windows-1252,因为许多较老的 Windows 程序使用的是该代码页而不是 UTF-8。如果姓名仍然显示异常,可再试 ISO-8859-1,这是另一种常见的西欧代码页。