CreateXMLDOMFromString (QTP, TestComplete, VBScript)
Parent page: Service Functions – MSXMLDOM (QTP, TestComplete, VBScript)
Description
Create XML DOM object by loading source XML from string. If the string is empty or source XML is invalid returns Nothing.
Implementation
Public Function CreateXMLDOMFromString(ByVal sXMLSource) Dim boolRC, intRC Dim objXMLDoc, objXMLRoot If Trim(sXMLSource) = "" Then Set CreateXMLDOMFromString = Nothing Exit Function End If Set objXMLDoc = CreateObject("Microsoft.XMLDOM") objXMLDoc.async = False On Error Resume Next objXMLDoc.loadXML(sXMLSource) intRC = Err.Number On Error GoTo 0 If boolRC Then Set objXMLDoc = Nothing Set CreateXMLDOMFromString = Nothing Exit Function End If Set objXMLRoot = objXMLDoc.documentElement boolRC = isNull(objXMLRoot) or (objXMLRoot is Nothing) If boolRC Then Set objXMLDoc = Nothing Set CreateXMLDOMFromString = Nothing Exit Function End If Set CreateXMLDOMFromString = objXMLDoc End Function
Test Code
Set objXMLDoc = CreateXMLDOMFromString("") If Not (objXMLDoc is Nothing) Then Log.Error "CreateXMLDOMFromString failed" End If sText = "<root>text<root>" Set objXMLDoc = CreateXMLDOMFromString(sText) If Not (objXMLDoc is Nothing) Then Log.Error "CreateXMLDOMFromString failed" End If sText = "<root>text</root>" Set objXMLDoc = CreateXMLDOMFromString(sText) If objXMLDoc is Nothing Then Log.Error "CreateXMLDOMFromString failed" End If sText = "<root>text <case>test case</case></root>" Set objXMLDoc = CreateXMLDOMFromString(sText) If objXMLDoc is Nothing Then Log.Error "CreateXMLDOMFromString failed" End If Set objXMLNode = ChildElementByName(objXMLDoc.DocumentElement, "case") If objXMLNode is Nothing Then Log.Error "CreateXMLDOMFromString failed" End If If objXMLNode.BaseName <> "case" Then Log.Error "CreateXMLDOMFromString failed" End If If objXMLNode.Text <> "test case" Then Log.Error "CreateXMLDOMFromString failed" End If