xpath_查询函数
函数名:wb_xpath查询 / xpath_Query
函数功能
执行XPath查询并返回所有匹配结果,支持从XML字符串或文件路径中提取节点值、节点文本或节点XML内容,适用于多值查询与结构化数据提取。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
xmlInput | String | 是 | "C:/data.xml" 或 "<root><item>数据</item></root>" | 支持文件路径或XML字符串 |
xpathExpression | String | 是 | "/root/item" | 支持标准XPath表达式 |
returnType | Int | 否 | 1 | 1=节点值,2=节点文本,3=节点XML |
使用案例
XML结构数据提取
问题描述:从XML中提取所有<item>节点的值
公式演示:
excel
=xpath_Query("<root><item>数据1</item><item>数据2</item></root>", "/root/item", 1)输出效果:
text
数据1
数据2从文件路径读取数据并提取节点文本
问题描述:读取XML文件并提取<title>节点的文本内容
公式演示:
excel
=xpath_Query("C:/example.xml", "/book/title", 2)输出效果(假设XML文件内容为<book><title>Excel函数大全</title></book>):
text
Excel函数大全技术说明
XPath返回类型说明
| 类型 | 说明 | 示例输出 |
|---|---|---|
| 1 | 节点值(Value) | 节点内容 |
| 2 | 节点文本(InnerXml) | <content>节点内容</content> |
| 3 | 节点XML(OuterXml) | <item>节点内容</item> |
异常处理
| 错误场景 | 返回值 |
|---|---|
| XML内容为空或无效 | #N/A |
| XPath表达式无效 | 错误: XPath表达式无效... |
| 文件路径不存在 | 错误: 无法加载XML文件... |
扩展应用
结合VLOOKUP提取特定数据
excel
=INDEX(xpath_Query("C:/data.xml", "//product[@id='1001']", 3), 1, 1)说明:从XML文件中提取ID为"1001"的产品完整节点内容。
动态XPath查询
excel
=xpath_Query(A1, B1, 1)说明:A1中为XML内容,B1中为XPath表达式,实现动态数据提取。
注:本函数在WPS 2019+和Excel 365中测试通过