zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Elasticsearch 索引文档如何使用自动生成 Id?
    Spring Boot 缓存 知识点
    table的各种用法
    Spring Boot 整合 Elasticsearch
    Spring Boot 集成 Kafka
    Spring Boot 2实现分布式锁——这才是实现分布式锁的正确姿势!
    Spring Cloud 与 Spring Boot 版本兼容关系
    Spring Boot 之:Spring Boot Admin
    JVM 性能调优工具
    Spring Boot 之:Actuator 监控
  • 原文地址:https://www.cnblogs.com/ellie-test/p/4516731.html
Copyright © 2011-2022 走看看