jquery 读取XML 文件 并按时间进行排序

在开发中遇到了一个很烦躁的问题,就说在jdk 1.4 的情况下 ,读取远程的XML文件不能自动断开 ,于是就想到了,用jQuery来写 。在测试的时候使用的是本地的文件,可到最后发现,jQuery存在跨域的问题,百般无奈,最后就用Apache 代理的方式才算最终解决问题,下面看代码:

html 文件,需要引入相关的jQuery !

<!DOCTYPE html>
<html>
  <head>
	<meta charset="UTF-8">
    <title>index.html</title>
	<script type="text/javascript" src="jquery-1.4.4.min.js"></script>
	<script type="text/javascript">
	
$(document).ready(function(){ 
	   function root(title,datetime,linkurl,isnew){
		   this.title=title;
		   this.datetime=datetime;
		   this.linkurl=linkurl;
		   this.isnew=isnew;
		}
		var objectList = new Array();
		
			  $.ajax({
				  url: 'test2.xml',
				  dataType: 'xml',  
				  type: 'GET',
				  timeout: 3000,  
				  async: false, 
				  cache: false, 
				  error: function(xml){  
					  alert("loading xml error");  
				  },  
				  success: function(xml){  
					  $(xml).find("CONTENT").each(function(i){
						  var title = $(this).children("TITLE").text();   
						  var datetime = $(this).children("DATETIME").text();   
						  var linkurl = $(this).children("LINKURL").text();   
						  var isnew = $(this).children("ISNEW").text();   
						  objectList.push(new root(title,datetime,linkurl,isnew));
					  });
					  writeText();
				  },
					
			  }); 
	  
		
		
		
			  function writeText(){
					var dbwjList=0;
					var zbwjList=0;
					objectList.sort(function(a,b){
						return (new Date((b.datetime).replace(/-/g,'/'))).getTime()-(new Date((a.datetime).replace(/-/g,'/'))).getTime();
					 });
					var tmpaa="";
					var tmpbb="";
					for(var i=0;i<objectList.length;i++ ){
						if(objectList[i].isnew=="1"){
							dbwjList++;
							if(dbwjList<=6){
								var aa="<tr><td><a title="+objectList[i].title+" href="+objectList[i].linkurl+" target=\"_blank\">"+objectList[i].title.substring(0,42)+"</a></td><td>"+objectList[i].datetime+"</td></tr>"
								tmpaa=tmpaa+aa;
							}
						}
						if(objectList[i].isnew=="0"){
							 zbwjList++;
							 if(zbwjList<=4){
								 var bb="<tr><td><a title="+objectList[i].title+" href="+objectList[i].linkurl+" target=\"_blank\">"+objectList[i].title.substring(0,42)+"</a></td><td>"+objectList[i].datetime+"</td></tr>";
								 tmpbb=tmpbb+bb;
							 }
						}
					}
					$("#dbwj").html(tmpaa);
					$("#zbwj").html(tmpbb);
					if(dbwjList==0){
						$("#dbwj").html("<tr><td>暂无待办文件</td></tr>");
					}
					if(zbwjList==0){
						$("#zbwj").html("<tr><td>暂无在办文件</td></tr>");
					}
					 $("#spa_daiban_count").html(dbwjList);
					 $("#spa_zaiban_count").html(zbwjList);
				}
	   
	}); 

</script>

  </head>
  
  <body>
    
    
<table>
  <tr><td>待办文件(<span id="spa_daiban_count">加载中...</span>)个</td></tr>
  <tr><td><table id="dbwj"><!-- 在此追加待办文件 --></table></td></tr>
  
  <tr><td>在办文件(<span id="spa_zaiban_count">加载中... </span>)个</td></tr>
  <tr><td><table id="zbwj"><!-- 在此追加在办文件 --></table></td></tr>
</table>
    
    
    
  </body>
</html>

下面是XML文件:

<?xml version="1.0" encoding="GB2312"?>
<ROOT>
<CONTENT>
<TITLE><![CDATA[信息一]]></TITLE>
<DATETIME><![CDATA[2016-09-21]]></DATETIME>
<LINKURL><![CDATA[https://www.baidu.com/]]></LINKURL>
<ISNEW><![CDATA[1]]></ISNEW>
</CONTENT>
<CONTENT>
<TITLE><![CDATA[信息二]]></TITLE>
<DATETIME><![CDATA[2016-09-22]]></DATETIME>
<LINKURL><![CDATA[https://www.baidu.com/]]></LINKURL>
<ISNEW><![CDATA[1]]></ISNEW>
</CONTENT>
<CONTENT>
<TITLE><![CDATA[信息三]]></TITLE>
<DATETIME><![CDATA[2016-09-20]]></DATETIME>
<LINKURL><![CDATA[https://www.baidu.com/]]></LINKURL>
<ISNEW><![CDATA[1]]></ISNEW>
</CONTENT>
</ROOT>


把这两个文件拷贝到项目当中,应该就没有问题了,此处的XML文件还是使用本地的,如果访问远程的XML 则要使用Apache 做代理!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值