51Testing软件测试论坛

标题: qtp中是如何实现xml读取的 [打印本页]

作者: 日立张    时间: 2010-9-6 16:27
标题: qtp中是如何实现xml读取的
<environment>
<Variable>
<Name>xx<Name>
<Value>xxx<Value>
</Variable>
</environment>
想知道qtp中怎么实现通过name的值得到value的值的???
作者: hanjj    时间: 2010-9-7 10:26
Dim strXML
GetXml "xml路径","你要查的结点"
MsgBox strXML

Function GetXml (ByVal strXmlFilePath,ByVal xmlNodeName)
        Dim xmlDoc,xmlRoot
      
        Set xmlDoc = CreateObject("Microsoft.XMLDOM") '创建XML DOM对象
        xmlDoc.async = False  '控制加载模式为同步模式(xml树加载完毕后再执行后续代码)
        xmlDoc.load strXmlFilePath        '载入xml文件
        If xmlDoc.parseError.errorCode <> 0 Then
                MsgBox "XML文件格式不对,原因是:" & Chr(13) &  xmlDoc.parseError.reason
                Exit Function               
        End If
        Set xmlRoot = xmlDoc.documentElement      
        xmlRecursion xmlRoot,xmlNodeName        '调用xml递归函数传入指定的根和节点名      
        GetXml = True 'xmlRecursion (xmlRoot)
      
End Function


Function xmlRecursion(byval xmlNode,byval strNodeName)
                
        If xmlNode.nodeName = strNodeName And xmlNode.hasChildNodes Then
                If  xmlNode.childNodes.item(0).nodeName = "#text" Then
                        strXML = strXML & xmlNode.nodeName & ":" & xmlNode.childNodes.item(0).nodeValue & Chr(13)                                             
                End If               
        End If                       
        If xmlNode.hasChildNodes Then
                For Each childNodeItem In xmlNode.ChildNodes
                        If childNodeItem.hasChildNodes Then
                                xmlRecursion childNodeItem,strNodeName                              
                        End If                       
                Next
        End If      
End Function
作者: hanjj    时间: 2010-9-7 10:29
你的xml文件格式不对.仔细看一下.应该是<Name>XXX</Name>漏了/号,下面的Value也是
作者: 日立张    时间: 2010-9-8 15:07
是的 笔误
作者: 日立张    时间: 2010-9-8 15:09
想问下除了这个方法外还有别的方法么。
作者: TIB    时间: 2010-9-8 15:12
可以用XMLDOM,也可以用XMLUtil对象




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2