Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / XML

Check if an XmlNode is a child node in an XML DOM tree

1.76/5 (8 votes)
11 Oct 2006CPOL 1  
A recursive procedure to check if an XML node is a child node of another XML node in an XML DOM tree.

Introduction

This article describes a simple procedure to check if a given node is a child node of another node. The XML DOM tree consists of a number of XML nodes. If it is required to check if a node in an XML DOM tree is a child node of the same tree, use the simple procedure shown below. The procedure is a recursive one.

The checkNode is of type XmlNode, and is used to check whether the node is a child node of parentNode of type XmlNode. Make sure that both are in the same XmlDocument. Otherwise, it always returns False.

VB
Public Function IsCheckNodeChildNodeOfParentNode(ByRef parentNode _
       As XmlNode, ByRef checkNode As XmlNode) As Boolean
    Try

        Dim xNode As XmlNode

        If checkNode Is parentNode Then
            Return True
        ElseIf parentNode.HasChildNodes Then
            For Each xNode In parentNode.ChildNodes
                If checkNode Is xNode Then
                    Return True
                Else
                    If IsCheckNodeChildNodeOfParentNode(xNode, _
                                                 checkNode) Then
                        Return True
                    End If
                End If
            Next
        Else
            Return False
        End If
        Return False
    Catch ex As Exception
        Throw New Exception(ex.Message & " " & ex.StackTrace)
    End Try
End Function

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)