有没有一种简单的方法可以将 XML 数据(部分)转换回表格数据,即逗号分隔值、制表符分隔值或 Excel?我有时会收到 XML 日志文件,为了清晰起见并更容易与其他来源进行比较,将数据提取为平面表(例如在 Excel 中)会更容易。
我查看了 XMLtools 插件和其他插件,但找不到任何选项。例如,数据如下:
<ChildTaskStatus>
<LoadSubStatus>
<TaskStatus>RanToCompletion</TaskStatus>
<Template>NL_CM_0_1_1</Template>
<ItemsTotal>41219</ItemsTotal>
<ElapsedTime>00:00:04</ElapsedTime>
</LoadSubStatus>
<LoadSubStatus>
<TaskStatus>RanToCompletion</TaskStatus>
<Template>NL_CM_18_7_1</Template>
<ItemsTotal>168930</ItemsTotal>
<ElapsedTime>00:00:53</ElapsedTime>
</LoadSubStatus>
<LoadSubStatus>
<TaskStatus>RanToCompletion</TaskStatus>
<Template>NL_CM_12_8_1</Template>
<ItemsTotal>231122</ItemsTotal>
<ElapsedTime>00:00:43</ElapsedTime>
</LoadSubStatus>
</ChildTaskStatus>
我只想将数据提取到以下格式(具体格式不重要,任何 csv/tab 分隔或表格格式都可以):
任务状态 | 模板 | 商品总数 | 已用时间 |
---|---|---|---|
完成时间 | NL_CM_0_1_1 | 41219 | 00:00:04 |
完成时间 | NL_CM_18_7_1 | 168930 | 00:00:53 |
完成时间 | NL_CM_12_8_1 | 231122 | 00:00:43 |
顺便说一句,实际文件显然更大,并且有更多的树节点。
那么,有没有办法轻松地做到这一点,而不必为每个不同的实例编写脚本,例如 Excel 或 Notepad++ 中的选项?我知道我至少必须为四列指定 XML 标签,但我的意思是有没有工具或应用程序可以做到这一点?
答案1
Excel 能够将 XML 数据导入 2007 - 2021 版本以及最新的 Office 365 中的工作表。
加载数据的方法有很多种。它们列在这里。引用最简单的方式:
打开 XML 数据文件以导入其数据
点击文件>打开。
如果您使用的是 Excel 2007,请单击Microsoft Office 按钮>打开。在里面打开对话框中,单击包含要打开的文件的驱动器、文件夹或 Internet 位置。
选择文件并单击打开。
如果导入 XML出现对话框,您打开的文件引用一个或多个可扩展样式表语言转换 (XSLT) 样式表,因此您可以单击以下选项之一:
不应用样式表打开文件- XML 数据导入到二维表中,该表包含行和列,XML 标记显示为列标题,数据显示在列标题下方的行中。第一个元素(根节点)用作标题,并显示在指定的单元格位置。其余标记按字母顺序排列在第二行中。在这种情况下,Excel 不会推断架构,您不能使用 XML 映射。
打开应用以下样式表的文件(选择一个)-
选择要应用的样式表,然后单击“确定”。 XML 数据将根据您选择的样式表进行格式化。
笔记:XML 数据在 Excel 中以只读方式打开,这样您就不会意外地将原始源文件保存为 Excel 启用宏的工作簿文件格式 (.xlsm)。在这种情况下,Excel 不会推断架构,您无法使用 XML 映射。
- 如果打开 XML对话框出现时,XML 文件没有任何 XSLT 样式表引用。要打开该文件,请单击以下选项之一:
点击作为 XML 表在新的工作簿中创建 XML 表。
文件的内容将导入到 XML 表中。如果 XML 数据文件未引用架构,Excel 将从 XML 数据文件中推断架构。点击作为只读工作簿。
XML 数据导入到具有行和列的二维表中,该表将 XML 标记显示为列标题,并将数据显示在列标题下方的行中。第一个元素(根节点)用作标题,并显示在指定的单元格位置。其余标记按字母顺序排列在第二行中。在这种情况下,Excel 不会推断架构,并且您不能使用 XML 映射。XML
数据在 Excel 中以只读方式打开,因此您不会意外地将原始源文件保存为 Excel 启用宏的工作簿文件格式 (.xlsm)。在这种情况下,Excel 不会推断架构,并且您不能使用 XML 映射。点击使用 XML 源任务窗格。XML
数据文件的架构显示在XML 源任务窗格。然后,您可以将架构的元素拖到工作表中,以将这些元素映射到工作表。
如果 XML 数据文件未引用架构,则 Excel 会从 XML 数据文件中推断架构。
或者只需将文件拖放.xml
到新的工作表中。