TCL tdom xml向后解析直到root

时间:2013-09-30 12:26:23

标签: xml tcl tdom

我有一个tcl proc来写我给了一个xml的randon节点。我必须解析它的父节点是否设置了特定的属性字段。在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的新手,所以语法不好,只是想传达这个想法。如何得到这个结果。请帮忙。

1 个答案:

答案 0 :(得分:4)

实际上非常简单:

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

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