Quantcast
Channel: Automation Beyond
Viewing all articles
Browse latest Browse all 156

AppendChildElements (QTP, TestComplete, VBScript)

$
0
0

Parent page: Service Functions – MSXMLDOM (QTP, TestComplete, VBScript)

Description

Append all child elements from the list (including their attributes, comments, text nodes) to XML node.

Implementation

Public Function AppendChildElements(ByRef objXMLSrc, ByRef objNodeList)
  Dim Iter, objNode

  If objXMLSrc is Nothing Then
	  Set AppendChildElements = Nothing
	  Exit Function
  End If

  For Iter=0 To objNodeList.length-1
    Set objNode = objNodeList.Item(Iter)
	  Call objXMLSrc.AppendChild(objNode)
  Next

  Set AppendChildElements = objXMLSrc

End Function

Test Code

  Set objXMLDoc = CreateXMLDOM("test")
  Set objXMLParent1 = CreateChildElementByName(objXMLDoc.DocumentElement, "Parent", "parent src node")
  Set objXMLParent2 = CreateChildElementByName(objXMLDoc.DocumentElement, "Parent", "parent dest node")

  Set objXMLNode = CreateChildElementByName(objXMLParent1, "Object", "")
  Call SetXMLElementProperty(objXMLNode, "#attr:name", -1, "Username")
  Call SetXMLElementProperty(objXMLNode, "#attr:id", -1, "u123")

  Set objXMLNode = CreateChildElementByName(objXMLParent1, "Object", "")
  Call SetXMLElementProperty(objXMLNode, "#attr:name", -1, "Password")
  Call SetXMLElementProperty(objXMLNode, "#attr:id", -1, "p123")

  Set objXMLNode = CreateChildElementByName(objXMLParent1, "Object", "")
  Call SetXMLElementProperty(objXMLNode, "#attr:name", -1, "Login")
  Call SetXMLElementProperty(objXMLNode, "#attr:id", -1, "l123")

  Set objXMLParent = CreateChildElementByName(objXMLDoc.DocumentElement, "Parent", "parent dest node")
  Set objXMLNodeList = objXMLParent1.SelectNodes("./Object")

  Set objXMLParent = AppendChildElements(objXMLParent1, objXMLNodeList)
  Set objXMLNodeList = objXMLParent.SelectNodes("./Object")
  Set objDictionary = XMLNodeSet2Dictionary(objXMLNodeList)
  sValue = ParametersToStr(objDictionary.Item(1))
  If sValue <> "#innertext = , #text_1 = , @name = Username, @id = u123" Then
    Log.Error "AppendChildElements failed"
  End If


Viewing all articles
Browse latest Browse all 156

Trending Articles