如下xml文件,都是些国家名称
<?xml version="1.0" encoding="utf-8" ?>
<root>
  <country value="China">China</country>
  <country value="Australia">Australia</country>
  <country value="Canada">Canada</country>
  <country value="Malaysia">Malaysia</country>
  <country value="Singapore">Singapore</country>
  <country value="United Kingdom">United Kingdom</country>
  <country value="United States">United States</country>
<root>select控件读取后的效果
<select name="sendYCountry" id="sendYCountry" runat="server">
    <option value="" selected="selected">-- Please select one --</option>
    <option value="China">China</option>
    <option value="Australia">Australia</option>
    <option value="Canada">Canada</option>
    <option value="Malaysia">Malaysia</option>
    <option value="Singapore">Singapore</option>
    <option value="United_Kingdom">United Kingdom</option>
    <option value="United_States">United States</option>
</select>

解决方案 »

  1.   


    <!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">
    <body>
    <select name="sendYCountry" id="sendYCountry" runat="server">
      <option value="" selected="selected">-- Please select one --</option>
    </select>
    <script type="text/javascript">function createXml(str){ 
      if(document.all){ 
      var xmlDom=new ActiveXObject("Microsoft.XMLDOM") 
      xmlDom.loadXML(str) 
      return xmlDom 
      } 
      else 
      return new DOMParser().parseFromString(str, "text/xml") 
    }
    var XML = createXml('<?xml version="1.0" encoding="utf-8" ?>\
    <root>\
      <country value="China">China</country>\
      <country value="Australia">Australia</country>\
      <country value="Canada">Canada</country>\
      <country value="Malaysia">Malaysia</country>\
      <country value="Singapore">Singapore</country>\
      <country value="United Kingdom">United Kingdom</country>\
      <country value="United States">United States</country>\
    </root>\
    ');
    var cs = XML.documentElement.selectNodes("//root/country");var o = document.getElementById("sendYCountry");
    o.options.length=1;if (cs)
    {
        for(var i=0, n=cs.length; i<n; i++)
        {
            var c = cs[i];
            if(c && c.childNodes && c.childNodes[0])
            {
                o.add(new Option(c.childNodes[0].nodeValue, c.getAttribute("value")));
            }
        }
    }
    </script></body>
    </html>
      

  2.   

    <select name="sendYCountry" id="sendYCountry" runat="server">
      <option value="" selected="selected">-- Please select one --</option>
    </select>
    <SCRIPT LANGUAGE="JavaScript">
        var json=new Array();
        var doc = new ActiveXObject('Microsoft.XMLDOM');
        doc.load("test.xml");//path
        
        var items = doc.getElementsByTagName("country");
        var s=document.getElementById("sendYCountry");
        for(var i=0;i<items.length;i++){
            var item = items[i];
            s.options.add(new Option(item.getAttribute("value"),item.text));
        }
    </script>
      

  3.   

    ff下不行,因为ff与ie加载xml文件的方式有点不同。你去找找兼容ff和ie的代码就行。其他没问题
      

  4.   


    var xmlDom;     //XML DOM object   
        var xmlFile="ff.xml";    //xml file name   
        loadXML = function(fileRoute){   
            xmlDoc=null;   
            if (window.ActiveXObject){   
                xmlDoc = new ActiveXObject('Msxml2.DOMDocument');   
                xmlDoc.async=false;   
                xmlDoc.load(fileRoute);   
            }else if (document.implementation && document.implementation.createDocument){   
                var xmlhttp = new window.XMLHttpRequest();   
                xmlhttp.open("GET",fileRoute,false);   
                xmlhttp.send(null);   
                var xmlDoc = xmlhttp.responseXML;   
            }   
            else {xmlDoc=null;}   
            return xmlDoc;   
        }   
        xmlDom=loadXML(xmlFile);   
        var newsList2=xmlDom.getElementsByTagName("item");   
        alert(newsList2.length)  
    楼主我的解析xml代码加上楼上的给select赋值代码就可以了
      

  5.   

    function initialize()//窗口加载方法 

    var xmlDoc; 
    if(window.ActiveXObject)//判断浏览器是否支持ActiveX控件 window.AxtiveXObject 

        //载入解析器 
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async="false"; 
        xmlDoc.load("country.xml");
        return xmlDoc; 
    }
    else 
        if(document.implementation&&document.implementation.createDocument) //在Firefox及其他浏览器中的xml解析器 
        { 
            xmlDoc=document.implementation.createDocument("","",null); 
            //xmlDoc.onload=handleXmlDoc(); 
            xmlDoc.load("country.xml"); 
            return xmlDoc;
        }
    }
         
    function selectXml() 

        var xmlDoc=initialize();
        //alert(xmlDoc);
        var items = xmlDoc.getElementsByTagName("country");
        var s=document.getElementById("sendYCountry");
        for(var i=0;i<items.length;i++)
        {
            var item = items[i];
            s.options.add(new Option(item.getAttribute("value"),item.text));
        }   
    }
    这样ff下不好使额
    注意这个“//alert(xmlDoc);”
    把这个注释取消,再试试。
      

  6.   

    #5楼  #2楼
    的兼容有点问题,主要是
    s.options.add(new Option(item.getAttribute("value"),item.text));
    这个地方ff不认识,firebug下查看时undefined#1楼哥们最后那句是对的
    o.add(new Option(c.childNodes[0].nodeValue, c.getAttribute("value")));最终改成
    s.options.add(new Option(item.childNodes[0].nodeValue,item.getAttribute("value")));
    这样就ok了3ku everyone