形式的に >>0 は HTML でも XML でもない謎文書なんだけど、とりあえず HTML 4.01 と仮定します(少なくとも XHTML ではありえないので)。
<p ...>
<span ...>ROOT2</span>
<div ...>
div 要素は p 要素の子孫にはなりえない。そこで、HTML 4.01 では p 要素の終了タグが省略可であることから、div 要素の直前に </p> が省略されているものと見なされます。
<p ...>
<span ...>ROOT2</span>
</p><div ...>
ゆえに、div 要素は span 要素の兄弟ではなく、p 要素の兄弟ノードです。まあ要するに、HTML の書き方のミス。
> 階層構造で折りたためるようにしたい
・他の枝をクリックしたときに、それまで開いていた枝を全て閉じるのか否か。
・対象ブラウザは何か(XML を考慮するなら、IE と Fx/Op/Sf では書き方が完全に異なる)。
等の条件で、いろいろ変わってきます。