如何从数据库中提取数据生成xml的树结构然后通过jsp调用显示成树!

要求生成的xml树结构如下
<Root>
<TreeNode Title='测试001' >

<TreeNode Title='测试00w1' Href='aaawww.htm' Target='Main'>
<TreeNode Title='目录测试001'/>
<TreeNode Title='目录测试001' Href='about:blank' Target='Main'/>
<TreeNode Title='目录测试222' />
<TreeNode Title='目录测试333' />
<TreeNode Title='目录测试444' />
</TreeNode>
<TreeNode Title='测试001' >
<TreeNode Title='目录测试001' />
<TreeNode Title='目录测试222' />
<TreeNode Title='目录测试333' />
<TreeNode Title='目录测试444' />
</TreeNode>
</TreeNode>
<TreeNode Title='目录测试' Caption='目录测试001'>
<TreeNode Title='目录测试001001' Href='a.htm'/>
<TreeNode Title='目录测试222' />
<TreeNode Title='目录测试333' />
<TreeNode Title='目录测试444' />
</TreeNode>
<TreeNode Title='目录测试' Caption='目录测试001'>
<TreeNode Title='目录测试001' />
<TreeNode Title='目录测试222' />
<TreeNode Title='目录测试333' />
<TreeNode Title='目录测试444' />
</TreeNode>
<TreeNode Title='测试' />
<TreeNode Title='测试' />
<TreeNode Title='目录测试' NodeXMLSrc='treenode_1.xml'/>
</Root>
如何在java中操作数据库生成上面这种格式的xml文件。
默认的根结构为:000
表结构:
id name parentid
001 1234 000
002 2541 000
003 654 000
004 547 000
005 254 001
006 258 002
008 654 006
没有极限的层。

由于写出来的xml结果不能显示所以在一次重复的写意次文本要求。生成的树结果可以让jsp调用以后直接生成树