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

来源:互联网 发布:论文相似性检测软件 编辑:程序博客网 时间:2024/06/08 06:28

在开发中遇到了一个很烦躁的问题,就说在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
原创粉丝点击