六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 49|回复: 0

Ajax 解析 xml

[复制链接]

升级  84%

10

主题

10

主题

10

主题

童生

Rank: 1

积分
42
 楼主| 发表于 2013-1-23 02:45:51 | 显示全部楼层 |阅读模式
响应类型必须设置为:response.setContentType("text/xml;charset=utf-8");

// 创建 XMLHttpRequest 对象var xmlHttp;function loadXMLDoc(url) {xmlHttp=null;if (window.XMLHttpRequest){// code for IE7, Firefox, Mozilla, etc.xmlHttp=new XMLHttpRequest();} else if (window.ActiveXObject){  // code for IE5, IE6  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");  }if (xmlHttp!=null) {  xmlHttp.onreadystatechange=handleXmlResponse;  xmlHttp.open("GET",url,true);  xmlHttp.send(null);  } else {  alert("Your browser does not support XMLHTTP.");  }}// 回调函数function handleXmlResponse() { if (xmlHttp.readyState==4) { if(xmlHttp.status==200){ var xmlDoc = xmlHttp.responseXML; xmlDoc.async=true; if(xmlDoc !== null){ analyse(xmlDoc) } } } }  /**  * 解析xml生成页面  * analyse  * @param {type} xmlDoc   */  function analyse(xmlDoc) {  // 建立 table   var div=document.createElement("div");//  div.id="edit";var table = document.createElement("table");table.cellspacing='1';table.cellpadding='2';table.style.textAlign="center";table.className="myTable";  var titleRow = table.insertRow(-1);//  titleRow.id="title_name";  // 得到标题  var headTitles = xmlDoc.selectNodes("//headTitle/item");  var total = headTitles.length;  for(var i=0; i<total; i++) {  var cell=titleRow.insertCell();  cell.innerHTML=headTitles[i].text;  cell.className="title";  }// 得到内容   var contents = xmlDoc.selectNodes("//content");  for(var i=0; i<contents.length; i++) {  var contentRow = table.insertRow(-1);  var timeCell=contentRow.insertCell();                // 时间属性timeCell.innerHTML=contents[i].getAttribute("time");timeCell.className="body";                // 跨列属性  var skip = contents[i].getAttribute("skip");  var items = contents[i].childNodes;  if(skip!==null) {  var skipCell=contentRow.insertCell();  skipCell.colSpan=skip;  } else {  for(var j=0; j<items.length; j++) {  var itemCell=contentRow.insertCell();  itemCell.className="body";  var item = items[j].childNodes;  if (item.length > 0) {  var innerTabel = document.createElement("table");  innerTabel.className="myTable";  for(var k=0; k<item.length; k++) {  var link=item[k].firstChild.text;  var tempStr=item[k].getAttribute("logType")+"_"+item[k].getAttribute("subType")+"_"+item[k].getAttribute("sn");  var innerRow=innerTabel.insertRow();  innerRow.id="panel_"+tempStr;  var innerCell=innerRow.insertCell();  innerCell.className="body";  innerCell.innerHTML=item[k].getAttribute("logTime")+"<br />"+item[k].getAttribute("Transactor")+"<br />"+item[k].getAttribute("message");  itemCell.appendChild(innerTabel);}  }  }  }  }div.appendChild(table);document.body.appendChild(div);// 调整页面mm_iframeAutoFit();  }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表