jquery json xml关于解析两次json数据动态取值的处理方式

<span style="font-size:18px;">第一种:解析xml方式</span>
这是我第一次接触到解析xml,也算是xml当中过程比较麻烦的,直接拼接xml文件,在返回給后台,后台查询出数据,前台再一次调用,在解析出来xml数据来。
</pre><pre name="code" class="html">function sucInfo(){
		var xmlfp="<?xml version='1.0' encoding='utf-8' ?>";
			xmlfp +="<taxML comment='查询'>";
			xmlfp +="<business>";
			xmlfp +="<invoiceCode>";
			xmlfp +=dm;
			xmlfp +="</invoiceCode>";
			xmlfp +="<invoiceNUMBER>";
			xmlfp +=hm;
			xmlfp +="</invoiceNUMBER>";
			xmlfp +="</business>";
			xmlfp +="</taxML>";
			
			$.ajax({
				type:"post",
				url:"http://***",
				data:{
					putxml:xmlfp
				},
				dataType:"xml",
				success:function(data){
				
					$(data).find("business").each(function(){
						$(data).find("group").each(function(){
							$(data).find("data").each(function(){
								if($(data).find("data").length<6){
									$("#fpzwch").html("当前无该信息,请检查是否填写正确");
								}else{
									if($(this).attr('name')=="taxpayerId"){
										var id=$(this).attr('value');//看下面贴出来的xml数据,得到的是data里面的value值
									}else if($(this).attr('name')=="taxpayerName"){
										var name=$(this).attr('value');
									}else if($(this).attr('name')=="dealDate"){
										var date=$(this).attr('value');
									}
									$("#fpzwch").html(fpinfo);
								}
					 	 	})
				 	 	})
				 	})
				 },
				 error:function(data){
				 	$("#message").text("服务器连接失败,点击返回");
					$("#pop").popup("open");
					backs();
				 }
				
			});
		}
	

上面是全部的解析过程,以下是后台返回来的数据,

<business id="QueryInvoice.Ctais.ChannelServer">
	<group>
		<data name="returnCode" value="00"/>
		<data name="returnMessage" value="成功"/>
		<data name="taxpayerId" value="01"/>
		<data name="taxpayerName" value="公司"/>
		<data name="buyDate" value="20140723"/>
		<data name="dealDate" value="20140822"/>
	</group>
</business>

第二种解析xml数据

后台直接通过json数据返回给我,我前台直接获取xml数据,然后取出我想要的内容;直接帖代码

<span style="white-space:pre">	</span>function Login(){
		
		$.ajax({
			type:"get",
			url:"http***",
			data:"",
			dataType:"json",
			success:callback
			
		})
		
	}
	function callback(data){
		var obj=eval(data);
		$.each(obj.data,function(i,item){
			//$(item.result).find('returnCode').text();
			var code = $(item.result).find('returnCode').text(); 
			if(code==100){
				alert("登陆成功");
			}else if(code==01){
				alert("登陆失败");
			}
		})
	}


后台传过来的值

{"sequence":1413007532505,"data":[{"result":"<?xml version=\"1.0\" encoding=\"UTF-8\"?><taxML><business comment=\"\"><returnCode>100</returnCode><returnMessage>鐧</returnMessage><returnData><qymc>徃</qymc></returnData></business></taxML>"}],"status":0,"meta":{},"totalRows":0,"startRow":0,"endRow":0,"statusType":null}


第三种直接取xml的数据

xml:$('<root><m>1</m><n>2</n></root>').find('n').text();


$(xml).find("MXXX").each(function(i){
	pzdm=$(this).attr('PZZL_DM');
})

后台的值

{"sequence":1413533692355,"data":[{"result":"<?xml version='1.0' encoding='GBK'?><ROOT><NSRSBH>572</NSRSBH><FWQRQ>207</FWQRQ><YSBQC><MXXX ZSXM_DM=\"04\" SSSQ_Q=\"2011\" SSSQ_Z=\"2031\" SBQX=\"2013\" PZZL_DM=\"307\" REPCODE=\"SB08\" PZXH=\"0000\" YSBRQ=\"\" YBTSE=''></MXXX></YSBQC><ERR_MSG></ERR_MSG></ROOT>"}],"status":0,"meta":{},"totalRows":0,"startRow":0,"endRow":0,"statusType":null}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值