求此图的绘制算法,请大神赐教。

图片说明
我想根据xml格式的数据绘制像上图这样形式的图,不知怎样设计算法,计算出各级节点的位置。请前辈们指点,语言不限,我恳切地想知道算法。万分感谢!

刚好前几天看到一个类似的,用的是D3,里面数据用的是json,不过json和xml之间不难互相转
http://bl.ocks.org/mbostock/4063550

这种图我叫它 放射状树形图..把树形图调成了一个圆形的样子,具体算法...我也不知道,没时间实现(无奈摊手)