cxwl3sxl 发表于 2007-4-26 11:45

求助啊?关于用ajax生成树的问题

<P>我有一个xml文件;格式如下:<BR>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<BR>&lt;root&gt;<BR>    &lt;menu&gt;<BR>        &lt;id&gt;1&lt;/id&gt;<BR>        &lt;name&gt;小学&lt;/name&gt;<BR>    &lt;/menu&gt;<BR>    &lt;menu&gt;<BR>        &lt;id&gt;2&lt;/id&gt;<BR>        &lt;name&gt;初中&lt;/name&gt;<BR>    &lt;/menu&gt;<BR>    &lt;menu&gt;<BR>        &lt;id&gt;3&lt;/id&gt;<BR>        &lt;name&gt;高中&lt;/name&gt;<BR>    &lt;/menu&gt;<BR>    &lt;menu&gt;<BR>        &lt;id&gt;4&lt;/id&gt;<BR>        &lt;name&gt;大学&lt;/name&gt;<BR>    &lt;/menu&gt;<BR>&lt;/root&gt;<BR>每个节点下面都还有子结点,但是是通过js动态读取的,在我读取后咋样在原来的主节点下面添加上他的子节点啊!?我自己写了一个,但是他添加后就把原来的覆盖调了!希望大家来看看啊!指教一哈!如果那个有这一方面的源码或者是资料,希望给我分享一哈!~~急待解决~~~[em09][em06][em13]<BR>下面是我自己写的html代码:<BR>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank" >http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</A>"&gt;<BR>&lt;html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank" >http://www.w3.org/1999/xhtml</A>"&gt;<BR>&lt;head&gt;<BR>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312" /&gt;<BR>&lt;title&gt;资源管理器&lt;/title&gt;<BR>&lt;script language="javascript" src="js/MakeTree.js" type="text/javascript"&gt;&lt;/script&gt;<BR>&lt;script language="javascript" type="text/javascript"&gt;<BR>var MenuId;<BR>var MenuName;<BR>function FillRes(ResMenuId)<BR>{<BR>    document.getElementById("Res").innerHTML=getSubject(ResMenuId,"");<BR>}<BR>function LoadMenu(pid)<BR>{<BR>    document.getElementById("Tree").innerHTML=MakeTree(pid);<BR>}<BR>function Domore(pid)<BR>{<BR>    document.getElementById("Res").innerHTML=getSubject(pid,"");<BR>    document.getElementById(pid).innerHTML=MakeTree(pid);<BR>}<BR>&lt;/script&gt;<BR>&lt;style type="text/css"&gt;<BR>&lt;!--<BR>#tools {<BR>    position:absolute;<BR>    width:100%;<BR>    height:30px;<BR>    z-index:1;<BR>    left: 0px;<BR>    top: 0px;<BR>}<BR>#Tree {<BR>    position:absolute;<BR>    width:20%;<BR>    height:500px;<BR>    z-index:2;<BR>    left: 0px;<BR>    top: 30px;<BR>}<BR>#Res {<BR>    position:absolute;<BR>    width:80%;<BR>    height:500px;<BR>    z-index:3;<BR>    left: 20%;<BR>    top: 30px;<BR>}<BR>#Layer1 {<BR>    position:absolute;<BR>    width:100%;<BR>    height:30px;<BR>    z-index:4;<BR>    left: 0px;<BR>    top: 530px;<BR>}<BR>--&gt;<BR>&lt;/style&gt;<BR>&lt;/head&gt;</P>
<P>&lt;body onload="LoadMenu(0)"&gt;<BR>&lt;div id="tools"&gt;放置工具栏&lt;/div&gt;<BR>&lt;div id="Tree"&gt;<BR>&lt;/div&gt;<BR>&lt;div id="Res"&gt;资源块&lt;/div&gt;<BR>&lt;div id="Layer1"&gt;状态栏&lt;/div&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR><BR>maketree.js<BR>var MenuId;<BR>var MenuName;<BR>var menu="";<BR>function MakeTree(id)<BR>{<BR>    menu="";<BR>    alert(id);<BR>    var xmlDoc=new ActiveXObject("Microsoft.XMLDOM");<BR>    xmlDoc.async=false;<BR>    xmlDoc.load("<a href='http://localhost/GetMenuListByParentId.aspx?id="+id);//' target="_blank" >http://localhost/GetMenuListByParentId.aspx?id="+id);//</A>该页面生成xml文件<BR>    <BR>    if(xmlDoc.parseError.errorCode != 0)<BR>    {<BR>       alert(xmlDoc.parseError.reason);<BR>       return;<BR>    }<BR>    else<BR>    { <BR>        var nodes=xmlDoc.documentElement.childNodes;<BR>        for(var i=0;i&lt;nodes.length;i++)<BR>        {<BR>            if(nodes(i).nodeName=="menu")<BR>            {<BR>                MenuId=nodes(i).selectNodes("id")(0).text;<BR>                MenuName=nodes(i).selectNodes("name")(0).text;<BR>            //    menu+="&lt;li id="+MenuId+"&gt;"+"&lt;a href=javascript:FillRes("+MenuId+")&gt;"+MenuName+"&lt;/a&gt;&lt;/li&gt;";<BR>                menu+="&lt;div id='"+MenuId+"'&gt;&lt;a href=javascript:Domore("+MenuId+")&gt;"+MenuName+"&lt;/a&gt;&lt;/div&gt;"<BR>            }<BR>        }<BR>    }<BR>    alert(menu);<BR>     delete(xmlDoc);<BR>     return menu;   <BR>}<BR></P>


页: [1]

编程论坛