Skip to content

XML节点计数

函数名:xpath_XML节点计数 / xpath_CountNodes

功能描述

统计匹配指定 XPath 表达式的节点数量,返回整数结果,适用于 XML 结构分析、数据量统计、节点完整性校验等场景。

会员等级:🟢 免费版(Free)

语法

excel
=xpath_XML节点计数(XML字符串或文件路径, 节点XPath)

参数

参数名类型必填默认值说明
XML字符串或文件路径String-XML 格式的文本或 XML 文件路径(自动判断:若为已存在的文件路径则读取文件内容,否则作为 XML 字符串处理)
节点XPathString-要统计的节点 XPath 表达式,需符合 XPath 1.0 语法

返回值

Int - 匹配的节点数量。无匹配节点时返回 0;发生任何异常时返回 -1(用于与正常结果 0 及正整数区分)。

使用示例

统计节点总数

公式

excel
=xpath_XML节点计数("<books><book/><book/><book/></books>","//book")

结果

3

按属性条件统计

公式

excel
=xpath_XML节点计数("<books><book category='fiction'/><book category='history'/><book category='fiction'/></books>","//book[@category='fiction']")

结果

2

统计不存在的节点

公式

excel
=xpath_XML节点计数("<books><book/></books>","//author")

结果

0

使用文件路径

公式

excel
=xpath_XML节点计数("D:\data\products.xml","//product")

结果

156

技术说明

  • 通过 GetXmlContent 自动判断输入:若 File.Exists(input) 为真则读取文件全部文本,否则将输入作为 XML 字符串处理。
  • 使用 XmlDocument.LoadXml 加载 XML,再通过 XPathNavigator.Select 执行表达式,返回 XPathNodeIterator.Count
  • 异常情况下返回 -1,便于与正常统计结果(0 及正整数)区分。
  • xpath_XPath计算 的区别:本函数专门用于节点计数(基于 Select 遍历),返回 intxpath_XPath计算 为通用表达式计算(基于 Evaluate),返回 object

错误处理

错误场景返回值
XML 格式不合法-1
XPath 表达式语法错误-1
文件路径不存在或不可读(作为字符串解析失败时)-1
参数为空或 null-1
无匹配节点(正常情况)0

基于源代码最新版本文档