0

How can i display node names with the maximum depth in the tree with SAX. The algorithm would be fine for me to understand the concept..

For example what should i do with startelement, endelement, startdocument, enddocument methods and what variables do i need to perform the task?

Thank you!

4

1 回答 1

1

这更像是一个算法问题。为了解决这个问题,需要注意的是,每次你有一个 startelement 事件,你就会下降一级,而当你有一个 endelement 事件时,你就会上升一级。这个想法是有一个变量(级别),并为每个起始元素增加它(级别++)并为每个结束元素减少它(级别--)。这意味着当找到节点的结束元素时,级别变量的值将是节点的深度。那么你唯一要做的就是跟踪最大值。伪代码版本将如下所示:

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

希望能帮助到你。

于 2012-05-15T11:24:13.900 回答