返回

解锁 FILTERXML 的强大功能:从 XML 数据中提取有用信息

Excel技巧

在当今数据驱动的世界里,我们经常需要处理各种格式的数据,其中 XML 是一种广泛使用的格式,因为它具有结构化、可扩展的特点。然而,从 XML 数据中提取有用信息可能是一项挑战,尤其是当您不熟悉 XPath 语言时。

幸运的是,Excel 提供了 FILTERXML 函数,它允许您使用 XPath 表达式从 XML 数据中提取所需的数据。

本指南将为您详细介绍 FILTERXML 函数的用法,包括:

  • 理解 XPath 语言的基础知识
  • 构建 XPath 表达式来查找所需数据
  • 将 FILTERXML 函数应用于实际的 XML 数据

通过本指南,您将掌握 FILTERXML 函数的使用技巧,并能够轻松地从 XML 数据中提取有价值的信息。

FILTERXML 函数概述

FILTERXML 函数的基本语法如下:

=FILTERXML(xml_data, xpath)

其中:

  • xml_data 是要从中提取数据的 XML 数据,可以是 XML 字符串、XML 文件的路径或包含 XML 数据的单元格引用。
  • xpath 是 XPath 表达式,用于指定要提取的数据在 XML 数据中的位置。

XPath 语言是一种用于在 XML 文档中查找特定元素和属性的语言。XPath 表达式由一系列步骤组成,这些步骤使用不同的轴、节点测试和谓词来遍历 XML 文档并定位所需的数据。

XPath 基础知识

在使用 FILTERXML 函数之前,您需要了解一些 XPath 的基本知识。以下是一些重要的概念:

  • 轴: 轴用于在 XML 文档中导航,包括子轴、父轴、祖先轴、后代轴等。
  • 节点测试: 节点测试用于匹配 XML 文档中的特定节点,包括元素、属性、文本节点等。
  • 谓词: 谓词用于对节点进行筛选,以选择符合特定条件的节点。

构建 XPath 表达式

构建 XPath 表达式时,您需要遵循以下步骤:

  1. 确定要提取的数据所在的 XML 元素或属性。
  2. 从根节点开始,使用轴来导航到目标元素或属性。
  3. 使用节点测试来匹配目标元素或属性。
  4. 使用谓词来对节点进行筛选,以选择符合特定条件的节点。

例如,如果您要从以下 XML 数据中提取所有 <student> 元素的 <name> 元素的值:

<school>
  <students>
    <student>
      <name>John Doe</name>
      <age>18</age>
    </student>
    <student>
      <name>Jane Smith</name>
      <age>19</age>
    </student>
  </students>
</school>

您可以使用以下 XPath 表达式:

/school/students/student/name

这个 XPath 表达式从根节点 (<school>) 开始,使用子轴 (/) 导航到 <students> 元素,然后使用子轴 (/) 导航到 <student> 元素,最后使用子轴 (/) 导航到 <name> 元素。

将 FILTERXML 函数应用于实际数据

现在,您已经了解了 FILTERXML 函数和 XPath 的基础知识,就可以将它们应用于实际数据了。

以下是如何使用 FILTERXML 函数从上例的 XML 数据中提取所有学生姓名:

=FILTERXML(xml_data, "/school/students/student/name")

在单元格中输入以上公式,然后按回车键。您将看到以下结果:

John Doe
Jane Smith

FILTERXML 函数将从 XML 数据中提取所有 <student> 元素的 <name> 元素的值,并将其作为结果返回。

结论

FILTERXML 函数是一个强大的工具,它允许您从 XML 数据中提取特定数据。通过本指南,您已经掌握了 FILTERXML 函数的使用技巧,并能够轻松地从 XML 数据中提取有价值的信息。无论您是需要处理复杂的 XML 文件还是想从网络上获取数据,FILTERXML 函数都是您不可或缺的帮手。