有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java SAX在最大深度查找节点

如何使用SAX在树中以最大深度显示节点名称。 这个算法对我理解这个概念很好

例如,我应该如何处理startelement、endelement、startdocument、enddocument方法,以及执行任务需要哪些变量

谢谢大家!


共 (1) 个答案

  1. # 1 楼答案

    这更像是一个算法问题。为了解决这个问题,需要注意的是,每次你有一个startelement事件时,你已经下降了一级,而当你有一个endelement事件时,你已经上升了一级。其思想是有一个变量(level),对于每个startelement增加它(level++),对于每个endelement减少它(level)。这意味着在查找节点的endelement时,level变量的值将是节点的深度。那么您唯一需要做的就是跟踪最大值。伪代码版本如下:

     startdocument -> level=0;max=0;
     startelement  -> level++
     endelement    -> if (level>max) max=level; level ; 
     endocument    -> System.out.println(max)
    

    希望能有帮助