用JAVASCRIPT来加载XML文件给下拉菜单,请大家帮帮忙???急用 我不知怎么来往下拉菜单里加载XML数据大家能不能给点提示,或都提供一些例子,先谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 a.htm-----------------------------------------------------------------<?xml version="1.0" encoding="gb2312" standalone="no" ?><!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta http-equiv="pragma" content="no-cache" /> <style type="text/css"> <!-- --> </style> <script language="JavaScript"> <!-- /***************************************************************************************** ClearDropDownList(目标Object,是否保留第一个) *****************************************************************************************/ function ClearDropDownList(oSel,bolLeaveFirst) { if(oSel==null || oSel.tagName.toLowerCase()!='select'){ alert('SELECT控件不存在!\n'+oSel.tagName); return;} var iLength=oSel.options.length; if(bolLeaveFirst) iTmp=1; else iTmp=0; for(iCnt=iLength-1;iCnt>=iTmp;iCnt--) oSel.options.remove(iCnt); oSel=null; } ////////////////////////////////////////////////////////////////////////////// var oDom=new ActiveXObject('Microsoft.XMLDOM'); oDom.async=true; oDom.onreadystatechange=loadDataProcess; function loadDataMain(){ ClearDropDownList(selTest,false); var opn=new Option; opn.text='正在装载,请等待...' selTest.options.add(opn); btnTest.disabled=true; selTest.disabled=true; oDom.load('city.xml'); } function loadDataProcess(){ if(oDom.readyState==4){ if(oDom.parseError.errorCode==0){ btnTest.disabled=false; for(var iCnt=0;iCnt<oDom.documentElement.childNodes.length;iCnt++){ var opn=new Option; opn.text=oDom.documentElement.childNodes[iCnt].getAttribute('NAME'); opn.value=oDom.documentElement.childNodes[iCnt].getAttribute('CODE'); selTest.options.add(opn); } selTest.options.remove(0); selTest.onchange=function (){ alert('你选中了'+this.value); } selTest.disabled=false; }else{ selTest.options[0].text='装载失败!'; } }else{ selTest.options[0].text+='...'; } } --> </script> <title></title></head><body><select name="selTest" style="width:300px;" disabled> <option>请点击装载数据按钮</option></select><br /><br /><button onclick="javaScript:alert('我可以用了!');" id="btnTest" disabled>测试按钮</button><button onclick="javaScript:loadDataMain();">装载数据</button></body></html> city.xml-----------------------------------------------------------------<?xml version="1.0" encoding="gb2312" standalone="no" ?><PROVINCES COUNT="34"> <PROVINCE CODE="110000" NAME="北京市" COUNT="7"> <CITY CODE="110001" NAME="北京市"></CITY> <CITY CODE="110221" NAME="昌平县"></CITY> <CITY CODE="110224" NAME="大兴县"></CITY> <CITY CODE="110226" NAME="平谷县"></CITY> <CITY CODE="110227" NAME="怀柔县"></CITY> <CITY CODE="110228" NAME="密云县"></CITY> <CITY CODE="110229" NAME="延庆县"></CITY> </PROVINCE> <PROVINCE CODE="120000" NAME="天津市" COUNT="8"> <CITY CODE="120001" NAME="天津市"></CITY> <CITY CODE="120221" NAME="宁河县"></CITY> <CITY CODE="120222" NAME="武清县"></CITY> <CITY CODE="120223" NAME="静海县"></CITY> <CITY CODE="120224" NAME="宝坻县"></CITY> <CITY CODE="120225" NAME="蓟县"></CITY> <CITY CODE="120901" NAME="天津开发区"></CITY> <CITY CODE="120902" NAME="天津港保税区"></CITY> </PROVINCE></PROVINCES> 声明:以上代码版权归CSDN某网友所有,我现在找不到原帖了 <?xml version="1.0" encoding="gb2312"?><汽车> <品牌> <品牌名称><![CDATA[凌志]]></品牌名称> <品牌编号><![CDATA[100760400]]></品牌编号> </品牌> <品牌> <品牌名称><![CDATA[保时捷]]></品牌名称> <品牌编号><![CDATA[100770100]]></品牌编号> </品牌> <品牌> <品牌名称><![CDATA[韩国双龙]]></品牌名称> <品牌编号><![CDATA[100780100]]></品牌编号> </品牌></汽车> 这是我的XML文件,我现在就想下拉菜单的text为品牌名称,value为品牌编号请各位高手帮帮忙了 1. csdn搜索: 树2. msdn Data Binding - Web Development http://msdn.microsoft.com/workshop/author/databind/data_binding.asp to xjdawu(WOW) 我说怎么看着代码这么熟悉呢http://community.csdn.net/Expert/TopicView.asp?id=3548773 给你一个例子xmenu.xml文件为<?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> </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> tree.xml文件为<html><head><title>XMenu 1.0</title><style><!--.{font: normal 12px Fixedsys}A:link {COLOR: #000000; TEXT-DECORATION: none}A:visited {COLOR: #000000; TEXT-DECORATION: none}A:active {COLOR: #ff0000; TEXT-DECORATION: none}A:hover {COLOR: #ff0000; TEXT-DECORATION: none}--></style><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")) { 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><input type="button" onclick="track()" value="View Source"/><xml id="menuxml" src="xmenu.xml"></xml><div id="hint"></div></body></html> 一个关于Javascript的问题 提取alert对话框中的文字 javascript 闭包问题 急~~~ query和css做的导航栏怎么做到初次访问默认显示第一个按钮的内容? 框架网页的滚动条问题 javascript 如何建立等待信息 删除当前行的JS代码!请大家帮我看看。急!!!! js中如何对html中一个表格中某个单元格的背景颜色进行引用呢? JavaScript脚本中的另存为能否实现远程保存。 请教如何对html中用户名和密码加密 求正则表达式匹配网页代码中的一部分 为什么这个页面上游戏图片那地方那个特效在网页另存为后显示不了。
-----------------------------------------------------------------
<?xml version="1.0" encoding="gb2312" standalone="no" ?>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta http-equiv="pragma" content="no-cache" />
<style type="text/css">
<!--
-->
</style>
<script language="JavaScript">
<!--
/*****************************************************************************************
ClearDropDownList(目标Object,是否保留第一个)
*****************************************************************************************/
function ClearDropDownList(oSel,bolLeaveFirst)
{
if(oSel==null || oSel.tagName.toLowerCase()!='select'){
alert('SELECT控件不存在!\n'+oSel.tagName);
return;}
var iLength=oSel.options.length;
if(bolLeaveFirst)
iTmp=1;
else
iTmp=0;
for(iCnt=iLength-1;iCnt>=iTmp;iCnt--)
oSel.options.remove(iCnt);
oSel=null;
}
//////////////////////////////////////////////////////////////////////////////
var oDom=new ActiveXObject('Microsoft.XMLDOM');
oDom.async=true;
oDom.onreadystatechange=loadDataProcess;
function loadDataMain(){
ClearDropDownList(selTest,false);
var opn=new Option;
opn.text='正在装载,请等待...'
selTest.options.add(opn);
btnTest.disabled=true;
selTest.disabled=true;
oDom.load('city.xml');
}
function loadDataProcess(){
if(oDom.readyState==4){
if(oDom.parseError.errorCode==0){
btnTest.disabled=false;
for(var iCnt=0;iCnt<oDom.documentElement.childNodes.length;iCnt++){
var opn=new Option;
opn.text=oDom.documentElement.childNodes[iCnt].getAttribute('NAME');
opn.value=oDom.documentElement.childNodes[iCnt].getAttribute('CODE');
selTest.options.add(opn);
}
selTest.options.remove(0);
selTest.onchange=function (){
alert('你选中了'+this.value);
}
selTest.disabled=false;
}else{
selTest.options[0].text='装载失败!';
}
}else{
selTest.options[0].text+='...';
}
}
-->
</script>
<title></title>
</head>
<body>
<select name="selTest" style="width:300px;" disabled>
<option>请点击装载数据按钮</option>
</select><br /><br />
<button onclick="javaScript:alert('我可以用了!');" id="btnTest" disabled>测试按钮</button>
<button onclick="javaScript:loadDataMain();">装载数据</button>
</body>
</html>
-----------------------------------------------------------------
<?xml version="1.0" encoding="gb2312" standalone="no" ?>
<PROVINCES COUNT="34">
<PROVINCE CODE="110000" NAME="北京市" COUNT="7">
<CITY CODE="110001" NAME="北京市"></CITY>
<CITY CODE="110221" NAME="昌平县"></CITY>
<CITY CODE="110224" NAME="大兴县"></CITY>
<CITY CODE="110226" NAME="平谷县"></CITY>
<CITY CODE="110227" NAME="怀柔县"></CITY>
<CITY CODE="110228" NAME="密云县"></CITY>
<CITY CODE="110229" NAME="延庆县"></CITY>
</PROVINCE>
<PROVINCE CODE="120000" NAME="天津市" COUNT="8">
<CITY CODE="120001" NAME="天津市"></CITY>
<CITY CODE="120221" NAME="宁河县"></CITY>
<CITY CODE="120222" NAME="武清县"></CITY>
<CITY CODE="120223" NAME="静海县"></CITY>
<CITY CODE="120224" NAME="宝坻县"></CITY>
<CITY CODE="120225" NAME="蓟县"></CITY>
<CITY CODE="120901" NAME="天津开发区"></CITY>
<CITY CODE="120902" NAME="天津港保税区"></CITY>
</PROVINCE>
</PROVINCES>
<汽车>
<品牌>
<品牌名称><![CDATA[凌志]]></品牌名称>
<品牌编号><![CDATA[100760400]]></品牌编号>
</品牌>
<品牌>
<品牌名称><![CDATA[保时捷]]></品牌名称>
<品牌编号><![CDATA[100770100]]></品牌编号>
</品牌>
<品牌>
<品牌名称><![CDATA[韩国双龙]]></品牌名称>
<品牌编号><![CDATA[100780100]]></品牌编号>
</品牌>
</汽车>
请各位高手帮帮忙了
Data Binding - Web Development
http://msdn.microsoft.com/workshop/author/databind/data_binding.asp
xmenu.xml文件为
<?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>
</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>
<html>
<head>
<title>XMenu 1.0</title>
<style>
<!--
.{font: normal 12px Fixedsys}
A:link {COLOR: #000000; TEXT-DECORATION: none}
A:visited {COLOR: #000000; TEXT-DECORATION: none}
A:active {COLOR: #ff0000; TEXT-DECORATION: none}
A:hover {COLOR: #ff0000; TEXT-DECORATION: none}
-->
</style>
<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"))
{
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>
<input type="button" onclick="track()" value="View Source"/>
<xml id="menuxml" src="xmenu.xml"></xml>
<div id="hint"></div>
</body>
</html>