Micro Focus QTP (UFT) Forums

Full Version: Exract data from XML using QTP
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

I am currently trying to extract data from an XML file using QTP. This is fairly new to me so please bear with me. The XML file contains many "Operation" nodes. From these nodes, I want to filter the appropriate node based on Operation ID and Operation Type. After that, I want to capture all of the Condition IDs for this Node. I would appreciate greatly any information I can use to start and build on.

Here is my sample code that need revision:
Code:
Set xmlDoc = XMLUtil.CreateXML()
Set objNode=xmlDoc.selectSingleNode(./OPERATION[@ID=REMOVEEQPT]")

<OPERATION ID="INSTALLEQPT" TYPE="FIX" CONFIRMATION="">
        <ATTRIBUTES>
            <ATTRIBUTE ID="EQPTTYPE"/>
        </ATTRIBUTES>
        <CONDITIONS>
            <CONDITION ID="UPGRADEABLE"/>
            <CONDITION ID="EQUIPMENT_IS_OK"/>
        </CONDITIONS>
    </OPERATION>
<OPERATION ID="REMOVEEQPT" TYPE="UNINSTALL" CONFIRMATION="">
        <ATTRIBUTES>
            <ATTRIBUTE ID="EQPTTYPE"/>
            <ATTRIBUTE ID="EQPTCOLOR"/>
            <ATTRIBUTE ID="EQPTAGE"/>
        </ATTRIBUTES>
        <CONDITIONS>
            <CONDITION ID="PROVISIONED"/>
            <CONDITION ID="NOT_ON"/>
            <CONDITION ID="CALL_HELP"/>
                   </CONDITIONS>
    </OPERATION>
Code:
Set oXML = CreateObject("Microsoft.XMLDOM")
' capture all condition ids
Set oConditionIds = oXML.getElementsByTagName("CONDITION ID")

For iCnt=0 to oConditionIds.Length-1
     Print oConditionIds.Item(iCnt).nodeName & "::" & oConditionIds.Item(iCnt).text
Next

Test Automation and QTP - Excel with Ease provides a good reference on working with xml files
Code:
Set oXML = CreateObject("Microsoft.XMLDOM")
' capture all condition ids
Set oConditionIds = oXML.getElementsByTagName("CONDITION ID")

For iCnt=0 to oConditionIds.Length-1
     Print oConditionIds.Item(iCnt).nodeName & "::" & oConditionIds.Item(iCnt).text
Next

Test Automation and QTP - Excel with Ease provides a good reference on working with xml files
Thanks Rajeevszone. I suspected as much. Much appreciated.