XML字符串转换成List
发布时间:2020-12-15 22:59:12 所属栏目:百科 来源:网络整理
导读:package testJava.ari;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;public class XML字符串转换成List { /** * gefei add 2013-7-16 15:01:
package testJava.ari; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; public class XML字符串转换成List { /** * gefei add 2013-7-16 15:01:36 * * @param args * @throws Exception */ public static void main(String[] args) throws Exception { String out_param = "<dataout><Count>2</Count><PowerOffArea>江宁区1</PowerOffArea><TypeCode>01</TypeCode><StartTime>20130726 08:30:00</StartTime><StopTime>20130726 12:30:00</StopTime><ScopeLen>270</ScopeLen><Scope>1山凹站</Scope><PowerOffArea>江宁区2</PowerOffArea><TypeCode>01</TypeCode><StartTime>20130726 08:30:00</StartTime><StopTime>20130726 12:30:00</StopTime><ScopeLen>270</ScopeLen><Scope>2山凹站</Scope></dataout>"; List l = convertResXMLToList(out_param); String cur_date = "20130716 15:41:10"; for(int i=0;i<l.size();++i){ System.out.println("PowerOffArea="+((Map)l.get(i)).get("PowerOffArea")); System.out.println("TypeCode="+((Map)l.get(i)).get("TypeCode")); System.out.println("StartTime="+((Map)l.get(i)).get("StartTime")); System.out.println("StopTime="+((Map)l.get(i)).get("StopTime")); System.out.println("ScopeLen="+((Map)l.get(i)).get("ScopeLen")); System.out.println("Scope="+((Map)l.get(i)).get("Scope")); } System.out.println("在之间="+isBetStaAndStoTime("20130715 15:41:10","20130717 15:41:10",cur_date)); System.out.println("在之间="+isBetStaAndStoTime("20130716 15:40:10","20130716 15:41:10",cur_date)); System.out.println("不在之间="+isBetStaAndStoTime("20130714 15:40:10","20130715 15:41:11",cur_date)); System.out.println("不在之间="+isBetStaAndStoTime("20130717 15:40:10","20130717 15:41:11",cur_date)); } /** * 把xml格式的字符串转换成List<Map> 【停限电告知专用】 * @param xmlParam xml格式的字符串 * @return List<Map> */ public static List<Map> convertResXMLToList(String out_param) { List<Map> xmlList = new ArrayList<Map>(); int all_count = 0;// 地市级停电告知的总条数 if(out_param.indexOf("<Count>") != -1){ all_count = Integer.parseInt(out_param.substring(out_param.indexOf("<Count>")+7,out_param.indexOf("</Count>")).toString().trim()); System.out.println("总条数="+all_count); } if(all_count > 0){ for(int i=0;i<all_count;++i){ Map xmlMap = new HashMap(); // 有缺陷 永远是第一次 xmlMap.put("PowerOffArea",out_param.substring(out_param.indexOf("<PowerOffArea>")+14,out_param.indexOf("</PowerOffArea>")).toString()); xmlMap.put("TypeCode",out_param.substring(out_param.indexOf("<TypeCode>")+10,out_param.indexOf("</TypeCode>")).toString()); xmlMap.put("StartTime",out_param.substring(out_param.indexOf("<StartTime>")+11,out_param.indexOf("</StartTime>")).toString()); xmlMap.put("StopTime",out_param.substring(out_param.indexOf("<StopTime>")+10,out_param.indexOf("</StopTime>")).toString()); xmlMap.put("ScopeLen",out_param.substring(out_param.indexOf("<ScopeLen>")+10,out_param.indexOf("</ScopeLen>")).toString()); xmlMap.put("Scope",out_param.substring(out_param.indexOf("<Scope>")+7,out_param.indexOf("</Scope>")).toString()); out_param = out_param.substring(out_param.indexOf("</Scope>")+8,out_param.length()); xmlList.add(xmlMap); } } return xmlList; } /** * 判断当前时间是否在停电开始和结束时间之内 * @param StartTime 停电开始时间 * @param StopTime 停电结束时间 * @return true=在之间 false=不在之间 * @throws Exception */ public static boolean isBetStaAndStoTime(String StartTime,String StopTime,String curTime) throws Exception{ boolean isFlag = false;// 默认当前日期不在开始和结束时间之间 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd HH:mm:ss"); Date d1 = sdf.parse(StartTime);// 停电开始时间 Date d2 = sdf.parse(StopTime);// 停电结束时间 Date d3 = sdf.parse(curTime);// 当前时间 long l1 = d1.getTime();// 开始 long l2 = d2.getTime();// 结束 long l3 = d3.getTime();// 当前 if(l3 >= l1 && l3 <= l2){ isFlag = true; // 当前日期在开始和结束时间之间 } return isFlag; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读