自己写了一个XML,想用它在jsp里生成动态树。哪位大人给小弟指点一下。现有100分全给了(在线等) Java更新XML的四种常用方法简介 出处:CSDN责任编辑:ljx http://www.pconline.com.cn/pcedu/empolder/gj/java/0408/441419.html 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 到blog.csdn.net/beyond_xiruo上去看看! beyond_xiruo的文我看过了不过看不大懂,里面涉及的一些知识点我不大明白。所以才到这里来提问的呀。 <script language="javascript">var xnode = new Array();var x = 0;function SelectNodes(ev, tn){ var childs = ev.childNodes; if (childs==0) return 0; for (var i=0;i<childs.length;i++) { if (childs[i].tagName==tn) return 1; } return 0;}function SelectSingleNode(ev, tn){ var childs = ev.childNodes; if (childs==0) return null; for (var i=0;i<childs.length;i++) { if (childs[i].tagName==tn) return childs[i]; } return null;}function OpenElement(e_name, e_id){ var ev; ev = document.getElementsByTagName(e_name); for (var i=0;i<ev.length;i++) { if (String(ev[i].id).toLowerCase()==String(e_id).toLowerCase()) return ev[i]; } var nev = document.createElement(e_name); nev.id = e_id; document.body.insertAdjacentElement("beforeEnd", nev); return nev;}function OpenMenu(nodes){ var ele = event.srcElement; var parentMenu = new Object(); if (ele.tagName=="xml") { parentMenu = OpenElement("div", "xmenu"); } else if (ele.tagName=="IMG" || ele.tagName=="A") { parentMenu = ele.parentNode; } else if (ele.tagName=="DIV") { parentMenu = ele; } else { return; } if (SelectNodes(parentMenu, "DIV")) { //alert("123"); var childs = parentMenu.childNodes; var display = ""; for (var i=0;i<childs.length;i++) { if (childs[i].tagName=="DIV") { display = childs[i].style.display; childs[i].style.display = (display=="none")?"":"none"; } } var img = SelectSingleNode(parentMenu, "IMG"); if (img==null) return; img.src = (display=="none")?"menu1.gif":"menu0.gif"; } else { var childs = nodes.childNodes; if (childs.length==0) return; var left = parseInt(parentMenu.style.left); if (isNaN(left)) left = 0; for (var i=0;i<childs.length;i++) { xnode[x] = childs[i]; var menu = OpenElement("div", "menu" + x); parentMenu.insertAdjacentElement("beforeEnd", menu); menu.style.left = left + 10; menu.style.position = "relative"; menu.style.display = ""; if (childs[i].hasChildNodes()) { menu.innerHTML = '<img src="menu0.gif" onclick="OpenMenu(xnode[' + x + '])" style="cursor:hand" /> <a href="javascript:" onclick="OpenMenu(xnode[' + x + '])">' + childs[i].getAttribute("name") + '</a>'; } else { menu.innerHTML = '<img src="menu1.gif" /> <a href="javascript:">' + childs[i].getAttribute("name") + '</a>'; } x++; } var img = SelectSingleNode(parentMenu, "IMG"); if (img==null) return; img.src = "menu1.gif"; }}</script><script language="javascript" for="menuxml" event="onreadystatechange">var xmenu = OpenElement("div", "xmenu");var state = this.readyState;switch (state){ case "complete": xmenu.innerHTML = ""; if (this.parseError.errorCode) { alert("HOHO:" + this.parseError.reason); } else { var root = this.documentElement; OpenMenu(root); } break; default: xmenu.innerHTML = state; break;}</script></head><body><xml id="menuxml" src="xmenu.xml"></xml><div id="hint"></div></body></html>-----------------------------------------------------------------------------<?xml version="1.0"?><menu> <menu name="User Manager 0"> <menu name="Profile Manager" /> <menu name="Password Manager" /> <menu name="User Liste" /> <menu name="User Manager 1"> <menu name="Profile Manager" /> <menu name="Password Manager" /> <menu name="User Liste" /> <menu name="User Manager 2"> <menu name="User Liste" /> <menu name="User Liste" /> </menu> </menu> </menu> <menu name="User Manager"> <menu name="Profile Manager" /> <menu name="Password Manager" /> <menu name="User Liste" /> </menu> <menu name="User Manager"> <menu name="Profile Manager" /> <menu name="Password Manager" /> <menu name="User Liste" /> </menu> <menu name="User Manager"> <menu name="Profile Manager" /> <menu name="Password Manager" /> <menu name="User Liste" /> </menu> <menu name="User Manager"> <menu name="Profile Manager" /> <menu name="Password Manager" /> <menu name="User Liste" /> </menu> <menu name="User Manager"> <menu name="Profile Manager" /> <menu name="Password Manager" /> <menu name="User Liste" /> </menu></menu> 楼主你把上面这些代码拷贝下去运行一下,保证你半个小时之内研究明白,注意这几个地方<script language="javascript" for="menuxml" event="onreadystatechange">OpenElement 这个函数是JavaScript里面自己写的函数 不是微软XML的方法出效果的代码 在 menu.innerHTML 这几处我觉得这个是最简单的XML处理方法了 java读取xml文件问题 菜鸟问题,请高手指点! 关于struts的问题 如何使用Cactus编写servlet测试? 很菜很菜的问题 - javabean怎么样连数据库啊? 知道servlet下通过hiberante访问数据库的朋友请进来一看,一事相求! 刚换了一个工作,,大家来帮个忙. WEBLOGIC JSP struct1.1 的 message resources 如何 解决 中文问题 大文本字符串问题 tomcat配置的菜鸟问题!大侠请帮忙,解决就加入。在线等!! 如何将自己写service发布到公共的UDDI注册中心
var xnode = new Array();
var x = 0;function SelectNodes(ev, tn)
{
var childs = ev.childNodes;
if (childs==0) return 0;
for (var i=0;i<childs.length;i++)
{
if (childs[i].tagName==tn) return 1;
}
return 0;
}function SelectSingleNode(ev, tn)
{
var childs = ev.childNodes;
if (childs==0) return null;
for (var i=0;i<childs.length;i++)
{
if (childs[i].tagName==tn) return childs[i];
}
return null;
}function OpenElement(e_name, e_id)
{
var ev;
ev = document.getElementsByTagName(e_name);
for (var i=0;i<ev.length;i++)
{
if (String(ev[i].id).toLowerCase()==String(e_id).toLowerCase())
return ev[i];
}
var nev = document.createElement(e_name);
nev.id = e_id;
document.body.insertAdjacentElement("beforeEnd", nev);
return nev;
}function OpenMenu(nodes)
{
var ele = event.srcElement;
var parentMenu = new Object();
if (ele.tagName=="xml")
{
parentMenu = OpenElement("div", "xmenu");
}
else if (ele.tagName=="IMG" || ele.tagName=="A")
{
parentMenu = ele.parentNode;
}
else if (ele.tagName=="DIV")
{
parentMenu = ele;
}
else
{
return;
}
if (SelectNodes(parentMenu, "DIV"))
{
//alert("123");
var childs = parentMenu.childNodes;
var display = "";
for (var i=0;i<childs.length;i++)
{
if (childs[i].tagName=="DIV")
{
display = childs[i].style.display;
childs[i].style.display = (display=="none")?"":"none";
}
}
var img = SelectSingleNode(parentMenu, "IMG");
if (img==null) return;
img.src = (display=="none")?"menu1.gif":"menu0.gif";
}
else
{
var childs = nodes.childNodes;
if (childs.length==0) return;
var left = parseInt(parentMenu.style.left);
if (isNaN(left)) left = 0;
for (var i=0;i<childs.length;i++)
{
xnode[x] = childs[i];
var menu = OpenElement("div", "menu" + x);
parentMenu.insertAdjacentElement("beforeEnd", menu);
menu.style.left = left + 10;
menu.style.position = "relative";
menu.style.display = "";
if (childs[i].hasChildNodes())
{
menu.innerHTML = '<img src="menu0.gif" onclick="OpenMenu(xnode[' + x + '])" style="cursor:hand" /> <a href="javascript:" onclick="OpenMenu(xnode[' + x + '])">' + childs[i].getAttribute("name") + '</a>';
}
else
{
menu.innerHTML = '<img src="menu1.gif" /> <a href="javascript:">' + childs[i].getAttribute("name") + '</a>';
}
x++;
}
var img = SelectSingleNode(parentMenu, "IMG");
if (img==null) return;
img.src = "menu1.gif";
}
}
</script><script language="javascript" for="menuxml" event="onreadystatechange">
var xmenu = OpenElement("div", "xmenu");
var state = this.readyState;
switch (state)
{
case "complete":
xmenu.innerHTML = "";
if (this.parseError.errorCode)
{
alert("HOHO:" + this.parseError.reason);
}
else
{
var root = this.documentElement;
OpenMenu(root);
}
break;
default:
xmenu.innerHTML = state;
break;
}
</script>
</head><body>
<xml id="menuxml" src="xmenu.xml"></xml>
<div id="hint"></div>
</body></html>
-----------------------------------------------------------------------------
<?xml version="1.0"?>
<menu>
<menu name="User Manager 0">
<menu name="Profile Manager" />
<menu name="Password Manager" />
<menu name="User Liste" />
<menu name="User Manager 1">
<menu name="Profile Manager" />
<menu name="Password Manager" />
<menu name="User Liste" />
<menu name="User Manager 2">
<menu name="User Liste" />
<menu name="User Liste" />
</menu>
</menu>
</menu>
<menu name="User Manager">
<menu name="Profile Manager" />
<menu name="Password Manager" />
<menu name="User Liste" />
</menu>
<menu name="User Manager">
<menu name="Profile Manager" />
<menu name="Password Manager" />
<menu name="User Liste" />
</menu>
<menu name="User Manager">
<menu name="Profile Manager" />
<menu name="Password Manager" />
<menu name="User Liste" />
</menu>
<menu name="User Manager">
<menu name="Profile Manager" />
<menu name="Password Manager" />
<menu name="User Liste" />
</menu>
<menu name="User Manager">
<menu name="Profile Manager" />
<menu name="Password Manager" />
<menu name="User Liste" />
</menu>
</menu>