65.9K
CodeProject 正在变化。 阅读更多。
Home

检查 XmlNode 是否是 XML DOM 树中的子节点

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.76/5 (8投票s)

2006年10月12日

CPOL
viewsIcon

24514

一个递归过程,用于检查 XML 节点是否是 XML DOM 树中另一个 XML 节点的子节点。

引言

本文描述了一个简单的过程,用于检查给定的节点是否是另一个节点的子节点。XML DOM 树由许多 XML 节点组成。如果需要检查 XML DOM 树中的节点是否是同一树的子节点,请使用下面所示的简单过程。该过程是一个递归过程。

checkNode 的类型是 XmlNode,用于检查该节点是否是类型为 XmlNodeparentNode 的子节点。确保两者都在同一个 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
© . All rights reserved.