FILTERXML 函数使用指定的 xpath 从 XML 内容返回特定数据。
注意
- FILTERXML 函数在 Excel 网页版和 Excel for Mac 中不可用。
- 此函数可能出现在 Excel for Mac 的函数库中,但它依赖于 Windows 操作系统的功能,因此不会在 Mac 上返回结果。
语法
FILTERXML(xml, xpath)
FILTERXML 函数语法具有下列参数。
| 参数 | 说明 |
|---|---|
|
xml 必需 |
有效 XML 格式的字符串 |
|
XPath 必需 |
标准 XPath 格式的字符串 |
注意
- 如果 xml 无效,则 FILTERXML 返回 #VALUE! 错误值。
- 如果 xml 包含前缀无效的命名空间,则 FILTERXML 返回 #VALUE! 错误值。
示例
本示例对单元格 B2 中返回的 XML 数据使用 FILTERXML 函数,该数据由单元格 B1 中 Web 查询上的 WEBSERVICE 函数的结果提供。
来自 FILTERXML 的数据在单元格 B3:B5 和 C3:C5 中返回,并显示维基百科上三个最近更新的查询结果及其更新时间(以 UTC“协调世界时” () 。
单元格 B3:B5 包含公式 =FILTERXML (B3,“//rc/@title”) 。
单元格 C3:C5 包含公式 =FILTERXML (B3,“//rc/@timestamp”) 。注意
如果你有最新版本的 Microsoft 365,则只需在输出区域的左上角单元格中输入公式即可,然后按 Enter 将公式确认为动态数组公式。 否则,必须首先选择输出区域,在输出区域的左上角单元格中输入公式(公式必须作为遗留的数组公式进行输入),然后按 Ctrl+Shift+Enter 进行确认。 Excel 将使用括号将公式括起来。 有关数组公式的详细信息,请参阅数组公式指南和示例。
还可以将 FILTERXML 与 ENCODEURL 和 WEBSERVICE 函数结合使用。 例如,可以使用 markitondemand.com API 服务返回有关公司股票的信息:
=WEBSERVICE (“http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol=”&ENCODEURL (C2) )
单元格 C2 中有股票代码的位置。
然后可以使用 FILTERXML 函数提取有关该股票的特定数据。 例如,要获取单元格 C2 中股票代码的最后价格,可以使用:
=FILTERXML (WEBSERVICE (“http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol=”&ENCODEURL (C2) ) ,“//QuoteApiModel/Data/LastPrice”)
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家,或在 社区中获取支持。