AppendChildElements (QTP, TestComplete, VBScript)

Categories: Source codeXML Data

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

Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
This work by the author is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported.