preload

XMLElementDepth (QTP, TestComplete, VBScript)

Posted by Albert Gareev on Oct 20, 2011 | Categories: Source codeXML Data

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

Description

Locate XML node depth within the hierarchy. Valid argument: an XML element node (NODE_ELEMENT type). 

Implementation


Public Function XMLElementDepth(ByRef objXMLElement)
   Dim intDepth
   Dim objXMLNode

  If objXMLElement is Nothing Then
  XMLElementDepth = -1
  Exit Function
 End If

 'NODE_DOCUMENT(9)
 If objXMLElement.NodeType = 9 Then
  XMLElementDepth = 0
  Exit Function
 End If

 'NODE_ELEMENT(1)
 If objXMLElement.NodeType <> 1 Then
  XMLElementDepth = -1
  Exit Function
 End If

 intDepth = 0
 Set objXMLNode = objXMLElement
 Do While True
  Set objXMLNode = objXMLNode.parentNode
  intDepth = intDepth + 1
  If objXMLNode.NodeType = 9 Then
   Exit Do
  End If
 Loop

 XMLElementDepth = intDepth

End Function


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