自动统计XML文件指定标签数量的VBS脚本开发需求
批量统计XML标签并导出Excel的VBS脚本方案
完整VBS脚本代码
' 配置参数 - 请根据实际情况修改 strFolder = "C:\YourXMLFilesFolder" ' XML文件所在文件夹路径 strTargetTag = "product" ' 要统计的目标标签名(不带尖括号) strOutputExcel = "XML统计结果.xlsx" ' 输出的Excel文件名 ' 创建Excel对象 Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True ' 让Excel可见,方便查看结果 Set objWorkbook = objExcel.Workbooks.Add() Set objWorksheet = objWorkbook.Worksheets(1) ' 写入表头 objWorksheet.Cells(1, 1).Value = "文件名" objWorksheet.Cells(1, 2).Value = "文件修改日期" objWorksheet.Cells(1, 3).Value = strTargetTag & "标签数量" ' 设置表头格式 objWorksheet.Rows(1).Font.Bold = True objWorksheet.Columns("A:C").AutoFit() ' 创建文件系统对象 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder(strFolder) row = 2 ' 从第2行开始写入数据 ' 遍历文件夹中的所有XML文件 For Each objFile In objFolder.Files LCaseFileName = LCase(objFile.Name) ' 只处理XML文件 If Right(LCaseFileName, 4) = ".xml" Then ' 写入文件名 objWorksheet.Cells(row, 1).Value = objFile.Name ' 写入文件修改日期 objWorksheet.Cells(row, 2).Value = objFile.DateLastModified ' 加载XML文件并统计标签数量 Set objXML = CreateObject("MSXML2.DOMDocument.6.0") objXML.async = False objXML.validateOnParse = False objXML.Load(objFile.Path) If objXML.parseError.ErrorCode = 0 Then ' 统计目标标签的数量 Set colNodes = objXML.SelectNodes("//" & strTargetTag) objWorksheet.Cells(row, 3).Value = colNodes.Length Else ' 如果XML解析失败,标记错误 objWorksheet.Cells(row, 3).Value = "解析错误" End If row = row + 1 End If Next ' 保存Excel文件 objWorkbook.SaveAs(objFSO.BuildPath(strFolder, strOutputExcel)) ' 释放对象 Set objWorksheet = Nothing Set objWorkbook = Nothing Set objExcel = Nothing Set colNodes = Nothing Set objXML = Nothing Set objFile = Nothing Set objFolder = Nothing Set objFSO = Nothing MsgBox "统计完成!结果已保存到:" & objFSO.BuildPath(strFolder, strOutputExcel)
使用步骤
- 打开记事本,复制上面的代码
- 修改开头的配置参数:
strFolder:替换成你的XML文件所在的文件夹路径(比如"D:\XMLFiles")strTargetTag:替换成你要统计的标签名(比如要统计<user>标签,就写"user")
- 点击记事本的「文件」→「另存为」,保存类型选「所有文件」,文件名后缀设为
.vbs(比如XML统计脚本.vbs) - 双击保存好的
.vbs文件,等待脚本运行完成,会自动打开Excel显示结果,同时文件会保存在XML文件夹里
注意事项
- 确保你的电脑安装了Microsoft Excel,脚本需要依赖Excel组件
- XML文件格式要规范,如果文件损坏或格式错误,会标记「解析错误」
- 标签名区分大小写,比如
"Product"和"product"会被视为不同标签 - 脚本仅处理文件夹下直接存放的
.xml文件,子文件夹内的文件不会被扫描
内容的提问来源于stack exchange,提问作者Salman
相关产品推荐
相关产品推荐

