Skip to content

xpath_Exists函数

函数名:xpath_XPath节点存在 / xpath_Exists

会员等级:免费版(Free) - 无需会员即可使用

函数功能

检查指定的XPath节点是否存在于XML文档中,返回布尔值TRUEFALSE,适用于XML结构校验、条件判断等场景。

参数规范

参数名类型必填示例特殊说明
xmlString"<books><book/></books>"XML格式的文本或XML文件路径(自动判断)
xpathString"//book"要检查的XPath表达式,需符合XPath 1.0语法规范

使用案例

检查节点是否存在

问题描述:验证XML文档中是否存在book节点 公式演示

excel
=xpath_XPath节点存在("<books><book id='1'/><book id='2'/></books>", "//book")

输出效果

text
TRUE

检查不存在的节点

问题描述:查找XML中不存在的author节点 公式演示

excel
=xpath_XPath节点存在("<books><book id='1'/></books>", "//author")

输出效果

text
FALSE

基于属性条件检查

问题描述:检查是否存在id为2的book节点 公式演示

excel
=xpath_XPath节点存在("<books><book id='1'/><book id='2'/></books>", "//book[@id='2']")

输出效果

text
TRUE

使用文件路径

问题描述:从本地XML文件中检查节点是否存在 公式演示

excel
=xpath_XPath节点存在("D:\data\books.xml", "//book[@category='fiction']")

输出效果

text
TRUE

技术说明

实现原理

  • 加载XML文档后,使用XPathNavigator.Select()方法执行XPath表达式
  • 判断返回的节点迭代器中是否存在匹配节点
  • 存在匹配节点则返回TRUE,否则返回FALSE
  • 支持XPath 1.0语法规范,包括节点选择、属性过滤、条件谓词等

输入模式自动判断

  • 当输入参数以合法文件路径形式提供(如D:\data\books.xml)时,按文件路径加载XML
  • 当输入参数以<开头的XML标签内容时,按XML字符串解析
  • 自动判断逻辑确保两种输入方式无缝切换

异常处理

错误场景返回值
XML格式不合法FALSE
XPath表达式语法错误FALSE
文件路径不存在或不可读FALSE
参数为空或nullFALSE

扩展应用

与IF函数结合做条件判断

excel
=IF(xpath_XPath节点存在(A1, "//error"), "存在错误节点", "校验通过") // A1中为XML字符串

批量校验多个XML文件

配合文件路径单元格引用,可批量检查多个XML文件是否包含目标节点,适用于配置文件校验、数据完整性检查等场景。

注:本函数为免费功能,支持XML字符串和文件路径两种输入方式,在WPS 2019+和Excel 365中测试通过。

基于源代码最新版本文档