• QTP read or write XML file


    'strNodePath = "/soapenv:Envelope/soapenv:Body/getProductsResponse/transaction/queryProducts/queryProduct/keys/keyProducts/keyProduct/attrProduct/attrs/attr"

    Function getNodeandValuefromXML(strXmlFilePath, strNodePath) 'passed

    Dim xmlDoc, xmlRoot,xmlChildren, xmlChild, childNodeName, childNodeValue
    Dim i, strNodeField, strNodeValue

    Set xmlDoc = XMLUtil.CreateXML()

    xmlDoc.LoadFile strXmlFilePath

    Set xmlRoot = xmlDoc.GetRootElement()

    Set xmlChildren = xmlDoc.ChildElementsByPath(strNodePath)

    intNodeCount = xmlChildren.Count()

    For i = 1 To xmlChildren.Count()

    Set childNodeName = xmlChildren.Item(i).ChildElementsByPath("name")

    strOneField = childNodeName.Item(1).Value

    Set childNodeValue = xmlChildren.Item(i).ChildElementsByPath("value")

    strOneValue = childNodeValue.Item(1).Value

    If strOneValue <>"" Then
    strNodeField = strNodeField&"$"&strOneField
    strNodeValue = strNodeValue&"$"&strOneValue

    End If


    Next

    strNodeField = mid(strNodeField, 2)
    strNodeValue = mid(strNodeValue, 2)

    'Combine field and value to a string

    strNodeFieldValue = strNodeField&"|"&strNodeValue


    Set strRoot = nothing
    Set xmlDoc = nothing

    getNodeandValuefromXML = strNodeFieldValue

    End Function

    Function createInputFile(strXmlFilePath, strNodePath, strNodeField, strNodeValue) 'passed

    Dim xmlDoc, xmlRoot,xmlChildren, xmlChild, child, updateChild
    Dim i, childText

    Set xmlDoc = XMLUtil.CreateXML()

    xmlDoc.LoadFile strXmlFilePath

    Set xmlRoot = xmlDoc.GetRootElement()

    'temp = xmlRoot.ElementName


    Set xmlChildren = xmlDoc.ChildElementsByPath(strNodePath)

    For i = 1 To xmlChildren.Count()

    Set child = xmlChildren.Item(i)
    childText = child.Value

    If strNodeField <> "productId" and strNodeField <> "qty" Then
    If trim(childText) = strNodeField Then

    Set updateChild = xmlChildren.Item(i).Parent.ChildElementsByPath("value")
    updateChild.Item(1).SetValue strNodeValue

    Exit For
    End If
    Else

    'Set updateChild = xmlChildren.Item(i).ChildElementsByPath("productId")
    child.SetValue strNodeValue


    End If


    Next

    xmlDoc.SaveFile strXmlFilePath

    Set strRoot = nothing
    Set xmlDoc = nothing
    End Function

  • 相关阅读:
    alter table move
    VI常用命令
    【转】window.showModalDialog以及window.open用法简介
    这算是随想
    SQL Prompt——SQL智能提示插件
    C#和VB.NET中类型相关资料整理
    仿查询分析器的C#计算器——6.函数波形绘制
    Snippet Compiler——代码段编译工具
    仿查询分析器的C#计算器——4.语法分析
    【高效程序员系列】目录
  • 原文地址:https://www.cnblogs.com/ellie-test/p/4516731.html
Copyright © 2020-2023  润新知