VBScript读取XML文件
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,虽然现今数据大部分都是使用数据库存储,但是停电断网等不可抗拒因素经常中断着automation的进行,这时若这些非业务的配置数据用xml来存储就显得方便很多了,下面是用VBScript脚本读取XML文
千家信息网最后更新 2026年11月01日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安全错误
数据库的锁怎样保障安全
互联网科技社
没上市的科技互联网公司
北京互联网科技有限公司
致骋互联网科技
北京互联网络科技有限公司
上海万想互联网科技
互联网科技的未来发展
互联网科技咨询
互联网科技创新服务
南平创想时代互联网科技有限公司
玉溪互联网科技怎么选
互联网科技大奖都有哪些公司
互联网公司黑科技创始人
银行科技岗属于互联网吗
广州千川互联网科技有限公司
风投北京互联网科技
信承诺互联网科技有限公司
科技信息时代互联网发展
现代互联网科技公司
互联网大会出现的黑科技
喔噻互联网科技有限公司
互联网科技会
互联网科技垄断
互联网络科技有限公司
佩信高科技互联网
华中科技有哪些互联网大佬
北京华百购互联网科技有限公司
互联网科技大赛获奖感言
滨湖区互联网智能科技产品有哪些
广州三三互联网科技有限公司