--------------XML部分----------
<?xml version="1.0" encoding="utf-8"?>
<xyj>
<person>
<name>唐僧</name>
<sex>男</sex>
<info>大唐高僧</info>
</person>
<person>
<name>孙悟空</name>
<sex>男</sex>
<info>齐天大圣</info>
</person>
<person>
<name>猪八戒</name>
<sex>男</sex>
<info>天蓬元帅</info>
</person>
<person>
<name>沙悟净</name>
<sex>男</sex>
<info>卷帘大将</info>
</person>
</xyj>
---------HTML和JS部分------------
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<select>
<option value="唐僧">唐僧</option><!--这里的value一定要有,不然IE6出不来-->
<option value="孙悟空">孙悟空</option>
<option value="猪八戒">猪八戒</option>
<option value="沙悟净">沙悟净</option>
</select>
<div></div>
</body>
<script>
var select=document.getElementsByTagName("select")[0];
var div=document.getElementsByTagName("div")[0];
select.onchange=function(){
var val=this.value;
var xmlHttp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHttp");
xmlHttp.open("GET",'xyj.xml');
xmlHttp.send();//发送
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
var xml=xmlHttp.responseXML;
//alert(xml);
//alert(xml.getElementsByTagName("person")[0].getElementsByTagName("name")[0].innerHTML)
var person=xml.getElementsByTagName("person");
for(var i=0;i<person.length;i++){
var name=person[i].getElementsByTagName("name")[0].firstChild.nodeValue;//IE不支持在XML里面用innerHTML找文本,但是在HTML是可以用的
if(name==val){
var sex=person[i].getElementsByTagName("sex")[0].firstChild.nodeValue;
var info=person[i].getElementsByTagName("info")[0].firstChild.nodeValue;
div.innerHTML=sex+"<br/>"+info;
return;
}
}
div.innerHTML="未找到结果";
}
};
};
select.onchange();//打开页面触发一次
</script>
</html>