ajax读取xml文件数据,不能显示在下拉列表中,求大神指导一下!

页面代码:<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><!--窗口打开时,自动读取解析... 页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!-- 窗口打开时,自动读取解析部门数据xml文件,并放到<select>中 --><html> <head> <title>自动载入列表数据</title> <script type="text/javascript"> //创建XHR对象 var xhr = null;
//载入列表 function showDeptno(){ //根据浏览器情况创建xhr对象 if (window.ActiveXObject){ xhr = new ActiveXObject("Microsoft.XMLHttp"); }else if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); } xhr.onreadystatechange = showDeptnoProcess;//注册监听 var url = "ajax6.xml";//URL xhr.open("GET",url,true);//设置URL xhr.send(null); } //处理异步请求 function showDeptnoProcess(){ if (xhr.readyState == 4) { if (xhr.status == 200) { //获得xml数据 var xml = xhr.responseXML; //获得节点集合 var nodes = xml.getElementsByTagName("dept"); //获得列表框对象 var dept = document.getElementById("deptno"); //遍历节点 for (var i = 0;i < nodes.length;i ++){ //创建一个option的DOM对象 var op = document.createElement("option"); op.setAttribute("value",nodes[i].childNodes[0].childNodes[0].nodeValue); op.innerHTML = nodes[i].childNodes[1].childNodes[0].nodeValue; //加入到列表框中 dept.appendChild(op); } } } }
window.onload = showDeptno;//当窗口打开时执行 </script> </head> <body> <select name="deptno" id="deptno" onchange="alert(this.value)"> <option value="">请选择部门</option> </select> </body></html>

ajax6.xml代码:
<?xml version="1.0" encoding="utf-8"?><root> <dept> <deptno>10</deptno> <dname>保安部</dname> </dept> <dept> <deptno>20</deptno> <dname>康乐部</dname> </dept> <dept> <deptno>30</deptno> <dname>办公室</dname> </dept></root>
展开
 我来答
匿名用户
2013-06-27
展开全部
代码改为:
op.setAttribute("value",nodes[i].childNodes[1].childNodes[0].nodeValue);
op.innerHTML = nodes[i].childNodes[3].childNodes[0].nodeValue;
更多追问追答
追问
不对,还是读不出来,那个读取xm路径有什么要求吗?
追答

没要求!怎么读不出来?我这里很正常!

你把JSP与XML文件放同一目录下!

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式