xpath_XPath计算函数
函数名:xpath_XPath计算 / xpath_Evaluate
函数功能
执行XPath表达式计算,支持XML字符串或文件路径输入,能够返回数值、字符串、布尔值等多种类型结果,适用于Excel中对XML结构的数据提取与分析。
参数规范
| 参数名 | 类型 | 必填 | 示例 | 特殊说明 |
|---|---|---|---|---|
XML字符串或文件路径 | String | 是 | "<root><data>123</data></root>" 或 "C:\\data.xml" | 可以是XML文本或本地文件路径 |
XPath表达式 | String | 是 | "//data" | 支持标准XPath语法 |
使用案例
简单数值提取
问题描述:从XML中提取特定节点的数值
公式演示:
excel
=xpath_XPath计算("<root><value>456</value></root>", "//value")输出效果:
text
456布尔值判断
问题描述:判断XML中是否存在指定节点
公式演示:
excel
=xpath_XPath计算("<root><flag>true</flag></root>", "boolean(//flag)")输出效果:
text
TRUE文件路径输入
问题描述:使用本地XML文件进行XPath计算
公式演示:
excel
=xpath_XPath计算("C:\\data.xml", "//user/@id")输出效果(假设文件中存在<user id="1001">):
text
1001技术说明
XML解析方式
- 使用
XmlDocument进行XML解析 - 使用
XPathNavigator.Evaluate()执行表达式计算
支持的XPath表达式类型
- 数值表达式:如
count(//item) - 节点选择:如
//book[@id='1'] - 布尔表达式:如
//stock[@price>100]
异常处理
| 错误场景 | 返回值 |
|---|---|
| XML格式错误 | #N/A |
| XPath表达式无效 | #N/A |
| 文件无法读取 | #N/A |
| 其他异常 | 错误: <异常信息> |
扩展应用
动态XPath构建
excel
=xpath_XPath计算(A1, CONCATENATE("//user[@id='", B1, "']"))说明:根据单元格B1的值动态构建XPath表达式
与Excel表格结合使用
excel
=xpath_XPath计算("C:\users.xml", "//user[@id='1001']/name")输出效果:
text
张三注:本函数在WPS 2019+和Excel 365中测试通过,支持本地XML文件与文本输入。