p_SetXMLElementCDataByIndex (QTP, TestComplete, VBScript)
Parent page: Service Functions – MSXMLDOM (QTP, TestComplete, VBScript)
Description
Iterate to index. Change value for existing CData node.
Otherwise create new child nodes till index.
Implementation
Private Function p_SetXMLElementCDataByIndex(ByRef objXMLElement, ByVal intIndex,ByVal sValue)
Dim objXMLDoc, objCDataNode
Dim objColl, Iter, IndexIter
Set objColl = objXMLElement.ChildNodes
IndexIter = -1
For Iter=0 To objColl.length-1
If objColl.Item(Iter).NodeName = "#cdata-section" Then
IndexIter = IndexIter + 1
If IndexIter = intIndex Then
objColl.Item(Iter).NodeValue = sValue
p_SetXMLElementCDataByIndex = True
Exit Function
End If
End If
Next
Set objXMLDoc = objXMLElement.OwnerDocument
IndexIter = IndexIter + 1
For Iter=IndexIter to intIndex
Set objCDataNode = objXMLDoc.CreateCDATASection(sValue)
objXMLElement.AppendChild(objCDataNode)
Next
p_SetXMLElementCDataByIndex = True
End Function

