1

我有一个 tcl proc 要写,我已经给出了一个 xml 的随机节点。我必须解析其父母是否设置了特定的属性字段。在 C++ 中,我可以使用递归函数轻松完成此操作,该函数在到达 ROOT 节点时中断。但是在 tdom 中我找不到如何检查是否已到达 Root 节点。

/##I am just doing a rough in the following code. I wanted something like it ##
proc testRecursive {XMLnode } {
    if { $XMLnode !=ROOTNODE} { 
        set ParentND [$XMLnode parentNode]
        /#some checkings and other actions done here
        testRecursive ParentND
    } else {
        exit             
    }
}

我是 tcl 的新手,所以语法不好,只是想传达这个想法。如何得到这个结果。请帮忙。

4

1 回答 1

4

这真的很简单:

proc testRecursive {XMLnode} {
    set parent [$XMLnode parentNode]
    if {$parent != ""} {
        # Do your checks here
        return [testRecursive $parent]
    }
    return "Default Value"
}

只需检查是否有父节点。根节点没有父节点。
您还可以检查两者$node root是否相同$node

于 2013-09-30T12:52:34.583 回答