我不知怎么来往下拉菜单里加载XML数据
大家能不能给点提示,或都提供一些例子,先谢了

解决方案 »

  1.   

    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>
      

  2.   

    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>
      

  3.   

    声明:以上代码版权归CSDN某网友所有,我现在找不到原帖了
      

  4.   

    <?xml version="1.0" encoding="gb2312"?>
    <汽车>
      <品牌>
        <品牌名称><![CDATA[凌志]]></品牌名称>
        <品牌编号><![CDATA[100760400]]></品牌编号>
      </品牌>
      <品牌>
        <品牌名称><![CDATA[保时捷]]></品牌名称>
        <品牌编号><![CDATA[100770100]]></品牌编号>
      </品牌>
      <品牌>
        <品牌名称><![CDATA[韩国双龙]]></品牌名称>
        <品牌编号><![CDATA[100780100]]></品牌编号>
      </品牌>
    </汽车>
      

  5.   

    这是我的XML文件,我现在就想下拉菜单的text为品牌名称,value为品牌编号
    请各位高手帮帮忙了
      

  6.   

    1. csdn搜索: 树2. msdn
       Data Binding - Web Development
       http://msdn.microsoft.com/workshop/author/databind/data_binding.asp
      

  7.   

    to   xjdawu(WOW) 我说怎么看着代码这么熟悉呢http://community.csdn.net/Expert/TopicView.asp?id=3548773
      

  8.   

    给你一个例子
    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>
      

  9.   

    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>