下面给出一个QTP操作xml文件函数的一个范例:
Dim
filepath,xmlDoc,myErr,strXML,rootNode
filepath = " c:\12.xml "
Set xmlDoc = CreateObject ( " Microsoft.XMLDOM " ) ' 创建一个xml对象
xmlDoc.async = False
xmlDoc.load filepath ' 加载xml文件
If xmlDoc.parseError.errorCode <> 0 Then ' 返回错误信息
Set myErr = xmlDoc.parseError
MsgBox ( " XML Loads Faild. " & myErr.reason)
Else
Set rootNode = xmlDoc.documentElement ' 设置根节点
Call rTravel(rootNode) ' 遍历节点
msgBox strXML
End If
Sub rTravel(rNode)
Dim blnTwo,intTestCase,iLen,i,child
blnTwo = False
iLen = rNode.childNodes.length ' 返回节点的子节点数目
If iLen > 0 Then
For i = 0 to rNode.childNodes.length - 1
Set child = rNode.childNodes.item(i) ' 获取当前节点对象
Call rTravel(child)
childtext = child.nodeValue ' 获取节点的值
strXML = strXML & childtext & chr ( 13 ) ' chr(13)回车符
Next
else
Exit Sub
End If
End Sub
filepath = " c:\12.xml "
Set xmlDoc = CreateObject ( " Microsoft.XMLDOM " ) ' 创建一个xml对象
xmlDoc.async = False
xmlDoc.load filepath ' 加载xml文件
If xmlDoc.parseError.errorCode <> 0 Then ' 返回错误信息
Set myErr = xmlDoc.parseError
MsgBox ( " XML Loads Faild. " & myErr.reason)
Else
Set rootNode = xmlDoc.documentElement ' 设置根节点
Call rTravel(rootNode) ' 遍历节点
msgBox strXML
End If
Sub rTravel(rNode)
Dim blnTwo,intTestCase,iLen,i,child
blnTwo = False
iLen = rNode.childNodes.length ' 返回节点的子节点数目
If iLen > 0 Then
For i = 0 to rNode.childNodes.length - 1
Set child = rNode.childNodes.item(i) ' 获取当前节点对象
Call rTravel(child)
childtext = child.nodeValue ' 获取节点的值
strXML = strXML & childtext & chr ( 13 ) ' chr(13)回车符
Next
else
Exit Sub
End If
End Sub