Skip to content

xpath_ValidateXML函数

函数名:xpath_XML有效性验证 / xpath_ValidateXML

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

函数功能

验证输入的XML字符串或XML文件是否为合法的XML格式,返回布尔值TRUEFALSE,适用于XML数据导入前校验、接口数据格式检查、配置文件完整性验证等场景。

参数规范

参数名类型必填示例特殊说明
xmlString"<books><book/></books>"XML格式的文本或XML文件路径(自动判断)

使用案例

验证合法XML字符串

问题描述:检查XML字符串格式是否正确 公式演示

excel
=xpath_XML有效性验证("<books><book id='1'/><book id='2'/></books>")

输出效果

text
TRUE

验证非法XML字符串

问题描述:检查标签未闭合的XML字符串 公式演示

excel
=xpath_XML有效性验证("<books><book id='1'><book>")

输出效果

text
FALSE

验证带命名空间的XML

问题描述:检查包含命名空间的XML是否合法 公式演示

excel
=xpath_XML有效性验证("<books xmlns='http://example.com/books'><book id='1'/></books>")

输出效果

text
TRUE

验证XML文件路径

问题描述:检查本地XML文件是否为合法格式 公式演示

excel
=xpath_XML有效性验证("D:\data\config.xml")

输出效果

text
TRUE

验证空XML

问题描述:检查空字符串的XML有效性 公式演示

excel
=xpath_XML有效性验证("")

输出效果

text
FALSE

技术说明

实现原理

  • 根据输入参数自动判断是XML字符串还是文件路径
  • 若为XML字符串,使用XmlDocument.LoadXml()方法尝试加载
  • 若为文件路径,使用XmlDocument.Load()方法尝试加载
  • 加载成功返回TRUE,加载过程中抛出任何异常则返回FALSE
  • 仅验证XML格式(well-formed)是否正确,不验证XML Schema(XSD)约束

格式校验范围

本函数验证以下XML格式规范:

校验项说明
根元素存在XML文档必须有且仅有一个根元素
标签闭合所有开始标签必须有对应的结束标签或自闭合
标签嵌套正确标签必须正确嵌套,不可交叉
属性值引号属性值必须用单引号或双引号包裹
转义字符特殊字符(<>&等)必须正确转义
命名规范元素名和属性名须符合XML命名规范

输入模式自动判断

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

异常处理

错误场景返回值
XML格式不合法FALSE
标签未闭合FALSE
文件路径不存在或不可读FALSE
参数为空或nullFALSE
XML字符串过长或内存不足FALSE

扩展应用

与IF函数结合做数据导入校验

excel
=IF(xpath_XML有效性验证(A1), "格式正确,可导入", "XML格式错误,请检查") // A1中为XML字符串

批量校验XML文件有效性

配合文件路径单元格引用,可批量校验多个XML文件的格式有效性,适用于数据迁移前的格式检查、接口联调时的报文校验、配置文件部署前验证等场景。

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

基于源代码最新版本文档