您的位置:首页 > 编程语言 > Qt开发

QTP的那些事--有关xml的操作函数

2012-02-03 15:26 330 查看
filepath="C:/UserDedinedEnvironment.xml" Set dics = GetVars(filepath) addVar filepath,"tttt","aaaa"
Set dics = GetVars(filepath)
updateVar filepath,"tttt","55555555"
Set dics = GetVars(filepath)
delVar filepath,"tttt"
Set dics = GetVars(filepath)
xx=1 Function GetVars(filepath) '已完成
Set objxml= CreateObject("MSXML.DOMDocument")
objxml.load filepath
Set Environ = objxml.lastChild '获得<Environment>节点
Set dic = CreateObject("Scripting.Dictionary")
allVar = Environ.childNodes.length '获得<Environment>节点的子节点数量,即变量个数。
For i=0 To allVar-1
Set vars=Environ.childNodes.item(i) '获得<Variable>节点
var_name=vars.childNodes.item(0).nodeTypedValue
var_value=vars.childNodes.item(1).nodeTypedValue
dic.Add var_name,var_value
Next
Set GetVars = dic '返回dictionary的环境变量列表
Set dic = Nothing
End Function Function addVar(filepath,varname,varvalue) '已完成
Set objxml= CreateObject("MSXML.DOMDocument")
objxml.load filepath
Set Environ = objxml.lastChild '获得<Environment>节点 Set dic = CreateObject("Scripting.Dictionary")
allVar = Environ.childNodes.length '获得<Environment>节点的子节点数量,即变量个数。
For i=0 To allVar-1
Set vars=Environ.childNodes.item(i) '获得<Variable>节点
var_name=vars.childNodes.item(0).nodeTypedValue
var_value=vars.childNodes.item(1).nodeTypedValue
dic.Add var_name,var_value
Next
If dic.Exists(varname) Then
updateVar filepath,varname,varvalue
Exit Function
End If
Set vars =Environ.childNodes.item(0)
Set newVar= vars.cloneNode(1) '复制<Variable>节点
'修改子节点的值
newVar.childNodes.item(0).nodeTypedValue = varname
newVar.childNodes.item(1).nodeTypedValue = varvalue
'添加节点
Set newEnv= Environ.appendChild(newVar)
'保存xml
objxml.save filepath
End Function Function updateVar(filepath,varname,varvalue) '已完成
Set objxml= CreateObject("MSXML.DOMDocument")
objxml.load filepath
Set Environ = objxml.lastChild '获得<Environment>节点
allVar = Environ.childNodes.length '获得<Environment>节点的子节点数量,即变量个数。
' Set dic = CreateObject("Scripting.Dictionary")
' For i=0 To allVar-1
' Set vars=Environ.childNodes.item(i) '获得<Variable>节点
' var_name=vars.childNodes.item(0).nodeTypedValue
' var_value=vars.childNodes.item(1).nodeTypedValue
' dic.Add var_name,var_value
' Next
' If Not dic.Exists(varname) Then
' addVar filepath,varname,varvalue
' Exit Function
' End If For i=0 To allVar-1
Set vars=Environ.childNodes.item(i) '获得<Variable>节点
var_name=vars.childNodes.item(0).nodeTypedValue
If var_name=varname Then
vars.childNodes.item(1).nodeTypedValue = varvalue '更新变量值
Exit For
End If
Next '保存xml
objxml.save filepath
End Function Function delVar(filepath,varname) '已完成
Set objxml= CreateObject("MSXML.DOMDocument")
objxml.load filepath
Set Environ = objxml.lastChild '获得<Environment>节点
allVar = Environ.childNodes.length '获得<Environment>节点的子节点数量,即变量个数。
If allVar=1 Then
Exit Function
End If
For i=0 To allVar-1
Set vars=Environ.childNodes.item(i) '获得<Variable>节点
var_name=vars.childNodes.item(0).nodeTypedValue
If var_name=varname Then
Environ.removeChild(vars) '删除节点
Exit For
End If
Next '保存xml
objxml.save filepath
End Function
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: