EXTJS AJAX 解析 XML 数据

23 篇文章 0 订阅
22 篇文章 0 订阅

EXTJS  AJAX 从后台取 XML  数据 在页面上展示 


页面JS


function getAllAreaInfos()
	{
		var areaName = "";
		Ext.Ajax.request({
		   	method: 'POST',
		   	url: 'allAreaInfos',
		   	params: {"areaName":areaName},
		   	waitMsg: '数据更新中,请稍后...',
		   	success: function(response,options){
		   		var xmlDoc = response.responseXML;
		   		if(xmlDoc!=null)
	   			{
		   			var ais = xmlDoc.getElementsByTagName("Areainfo"); 
		   			if(ais!=null&&ais.length>0) 
	   				{
	   					for(var i=0;i<ais.length;i++)//   DB  
		                {  
		                    var asId = (ais[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);    //  第i个areaInfos的id  
		                    var asName = (ais[i].getElementsByTagName("name")[0].childNodes[0].nodeValue);    //  第i个areaInfos的名字  
		                    var allCapacity = (ais[i].getElementsByTagName("allCapacity")[0].childNodes[0].nodeValue);    //  第i个areaInfos的总装机容量
		                    //document.getElementById(asName).innerHTML="";
		                    document.getElementById(asName).innerHTML=allCapacity;//得到的数据在页面上展示
		                }  
	   				}
	   			}
		   	},
		   	failure: function(response,options){
		   		Ext.Msg.alert("信息提示", "获取数据库数据出错,请稍后再试!");
		   	},
		   	autoAbort:false
		});
	}

action

public String getAllAreaInfos() {
		try {
			List<Areainfo> list = null;
			if(areaName!=null&&!areaName.equalsIgnoreCase("null")&&areaName.trim().length()>0)
			{
				list = mapInfos.findAllAreaInfos(this.subStringAreaName(areaName));
			}
			else
				list = mapInfos.findAllAreaInfos(null);
				
			response.setContentType("text/xml;charset=utf-8");
			response.setCharacterEncoding("utf-8");
			PrintWriter pw = null;
			pw = response.getWriter();
			StringBuffer sb = new StringBuffer();
			sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
			
			sb.append("<Items>");
			if(list==null)
			{
				sb.append("<Areainfo>");
				sb.append("<id>").append("no").append("</id>");
				sb.append("</Areainfo>");
			}
			else
			{
				for (int i = 0; i < list.size(); i++) 
				{
					Areainfo v = list.get(i);
					sb.append("<Areainfo>");
					
					sb.append("<id>").append(v.getId()).append("</id>");
					sb.append("<name>").append(v.getName()).append("</name>");
					sb.append("<allCapacity>").append(v.getAllcapacity()).append("</allCapacity>");
					
					sb.append("</Areainfo>");
				}
			}
			sb.append("</Items>");
			
			String xmlDBTree = sb.toString();
			
			pw.print(xmlDBTree);
			pw.flush();
			pw.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值