VBScript读取XML文件
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,虽然现今数据大部分都是使用数据库存储,但是停电断网等不可抗拒因素经常中断着automation的进行,这时若这些非业务的配置数据用xml来存储就显得方便很多了,下面是用VBScript脚本读取XML文
千家信息网最后更新 2025年12月02日VBScript读取XML文件
虽然现今数据大部分都是使用数据库存储,但是停电断网等不可抗拒因素经常中断着automation的进行,这时若这些非业务的配置数据用xml来存储就显得方便很多了,下面是用VBScript脚本读取XML文件的实现方法,记录下以作备忘。
1. XML文件的节点信息:
1 TNSLogon ELOG ASD asd 1 3 TNSLogon NAV12C2 navdev navdev 0 5 DirectLogon RTTD devman devman 0
2. 判断当前系统的MSXML.dll组件的版本(由于系统中一般会有多个版本,这里就只取最大的版本)
Function iGetMSxmlVersion() Dim SystemPath, fso, f, fa, fname, iVersion, iMaxVersion SystemPath = "C:\Windows\System32" 'system path Set fso = CreateObject("Scripting.FileSystemObject") If fso.FolderExists(SystemPath) Then Set f = fso.GetFolder(SystemPath) Set fa = f.Files iMaxVersion = 0 ' calc the amount of files For Each fname in fa If Instr(fname,"msxml")>0 Then iVersion = Mid(fname.name,6,1) If IsNumeric(iVersion) Then If iMaxVersion < iVersion Then iMaxVersion = iVersion End If End If End If Next If iMaxVersion >0 Then iGetMSxmlVersion = iMaxVersion Log.Message("The max MSxml version is: " + iMaxVersion) Else iGetMSxmlVersion = 0 Log.Error("The current system not exist MSxml module.") End If End IfEnd Function3. 读取xml文件函数:
Function sGetDataFromXML(sXmlPath, sRoot, sNode, iDataID, sColumn) Dim xmlVersion xmlVersion = iGetMSxmlVersion If sXmlPath <> "" and sRoot <> "" and sNode <> "" and iDataID <>"" and sColumn <> "" Then If xmlVersion <> 0 Then ' Create COM object Set Doc = Sys.OleObject("Msxml2.DOMDocument."+ xmlVersion +".0") ' you can also use the following method to create XMLDOM object 'Set Doc = CreateObject("Microsoft.XMLDOM") Doc.async = False ' Load data from a file ' We use the file created earlier Call Doc.load(sXmlPath) ' Report an error, if, for instance, the markup or file structure is invalid If Doc.parseError.errorCode <> 0 Then s = "Reason:" + Chr(9) + Doc.parseError.reason + _ "Line:" + Chr(9) + CStr(Doc.parseError.line) + Chr(13) + Chr(10) + _ "Pos:" + Chr(9) + CStr(Doc.parseError.linePos) + Chr(13) + Chr(10) + _ "Source:" + Chr(9) + Doc.parseError.srcText ' Post an error to the log and exit Call Log.Error("Cannot parse the document.", s) Exit Function End If ' Use an XPath expression to obtain a list of "control" nodes Set Nodes = Doc.selectNodes("/" + sRoot + "/" + sNode + "[DataID=" + CStr(iDataID) + "]/" + sColumn) If Not(Nodes.item(0) is Nothing) Then Call Log.Message("Data from XML: " + Nodes.item(0).text) sGetTestDataFromXML = Nodes.item(0).text Else Log.Error("Read XML nodes occur errors.") Exit Function End If Set Nodes = Nothing Set Doc = Nothing Else Exit Function End If Else Log.Error("Function sGetTestDataFromXML() occur incorrect parameters.") Exit Function End IfEnd Function4. TestComplete中测试脚本及log输出:
Sub Test Dim strXmlPath, strTNSName, strUserame, strPassword strXmlPath=Project.Path + "Data\TC_TNSInfo.xml" log.Message(strXmlPath) If aqFile.Exists(strXmlPath) Then strTNSName = sGetTestDataFromXML(strXmlPath, "TC_TestLogon", "TNSLogon", 3, "I_TNSName") strUserame = sGetTestDataFromXML(strXmlPath, "TC_TestLogon", "TNSLogon", 3, "I_Username") strPassword = sGetTestDataFromXML(strXmlPath, "TC_TestLogon", "TNSLogon", 3, "I_Password") log.Message("TNSName is :"+strTNSName) log.Message("Username is :"+strUserame) log.Message("Password is :"+strPassword) End IfEnd Sub
文件
数据
版本
系统
脚本
存储
最大
信息
函数
因素
多个
大部分
数据库
方法
组件
节点
非业务
非业
备忘
测试
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
四川系统软件开发排行榜
nosql数据库的四个动机
英国的网络技术
idea数据库建表没有数据
如何提高软件开发的可靠性
c语言和数据库
深度极客网络安全博客
常用开源数据库
服务器怎么映射当前电脑
带erp的服务器
辽宁大型软件开发
短信服务器管理
湖南网络技术学院哪个专业好
网络安全礼品二维码
mt4连接数据库
软件开发和网络工程哪个好学
学生信息的数据库设计
认证网络安全证书
前端软件开发合同书范本
io读写数据库
上海汉帮军民网络安全
网络安全如何检查命令
软件开发工程师的职业
阿里云服务器ecs怎么用
科技互联网巨头股票
服务器维护安全培训
边缘网络技术安全才有意义
感知源数据库建设研讨会
网络安全法规条款
深圳最新的网络安全政策