如下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>
<?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>
<!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>
<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>
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赋值代码就可以了
{
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);”
把这个注释取消,再试试。
的兼容有点问题,主要是
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