检查 XmlNode 是否是 XML DOM 树中的子节点
一个递归过程,用于检查 XML 节点是否是 XML DOM 树中另一个 XML 节点的子节点。
引言
本文描述了一个简单的过程,用于检查给定的节点是否是另一个节点的子节点。XML DOM 树由许多 XML 节点组成。如果需要检查 XML DOM 树中的节点是否是同一树的子节点,请使用下面所示的简单过程。该过程是一个递归过程。
checkNode
的类型是 XmlNode
,用于检查该节点是否是类型为 XmlNode
的 parentNode
的子节点。确保两者都在同一个 XmlDocument
中。否则,它始终返回 False
。
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