我有一个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的新手,所以语法不好,只是想传达这个想法。如何得到这个结果。请帮忙。
答案 0 :(得分:4)
实际上非常简单:
proc testRecursive {XMLnode} {
set parent [$XMLnode parentNode]
if {$parent != ""} {
# Do your checks here
return [testRecursive $parent]
}
return "Default Value"
}
检查是否有父节点。根节点没有父节点。$node root
是否与$node
相同。