在java中在线解析XML⽂件内容这⾥的天⽓属性有很多,可以根据⾃⼰的需求获取天⽓属性
这⾥⽤到了org.json的jar包,因为要使⽤XML属性解析数据,还有alibab.JAONObject的jar包
/**
* 天⽓预报-更新
* 定时任务,每5分钟获取⼀次天⽓信息
* @return
*/
@Scheduled(cron = "0 0/5 * * * ?")//0 0/5 * * * ? 5分钟执⾏⼀次
public void update() throws Exception{
try {
//定义list集合安卓在线解析json
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
//定义map集合
Map<String, Object> map = new HashMap<String, Object>();
//实例化天⽓类
SWeather weatherinfo=new SWeather();
HttpClient client = ate().build();
//获取天⽓信息的XML内容信息
String  url = "flash.weather/wmaps/l"; // url:⽹址
HttpGet post=new HttpGet(url);
HttpResponse response =ute(post);
System.out.println(response);
BufferedReader rd= new BufferedReader(new Entity().getContent()));
StringBuffer result=new StringBuffer();
String line="";
while ((adLine())!=null){
result.append(line);
}
//通过org.json的依赖包,获取XML结构信息
org.json.JSONObject xmlJSONObj= String());
//将Object信息转为String
String jsonStr = String();
com.alibaba.fastjson.JSONObject alijsonStr = com.alibaba.fastjson.JSONObject.parseObject(jsonStr);
//获取重庆信息
com.alibaba.fastjson.JSONObject info = JSONObject("chongqing");
//设定迭代器iter
Iterator iter = Set().iterator();
//通过while循环获取key和value值
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) ();
//获取key的值
String Key().toString();
//获取value的值
String Value().toString();
//蒋value的值转为JSONArray
JSONArray jsonData2= JSONArray.parseArray(value);
//循环获取第⼀个为“重庆”的天⽓信息
for(int i=0;i<1;i++){
com.alibaba.fastjson.JSONObject JSONObject(i);
//拼接天⽓温度
String String("tem1")+"/"+String("tem2")+"℃";
//拼接风⼒
map.put("temperature",temperature);// 天⽓
map.put("info",String("stateDetailed"));// 天⽓
map.put("direct",String("windDir"));// 风向
map.put("power",String("windPower"));// 风⼒
map.put("humidity",String("humidity")+"RH");//湿度
map.put("wid",String("state2"));//天⽓类型
map.put("refreshTime",new Date());//刷新时间
//将map值放到list集合中
list.add(map);
//循环list集合,写⼊参数
for (int k = 0; k < list.size(); k++) {
weatherinfo.setWeatherId("1");
weatherinfo.(k).get("temperature").toString());//温度                        weatherinfo.(k).get("info").toString());//天⽓
weatherinfo.(k).get("power").toString());//风⼒
weatherinfo.(k).get("humidity").toString());//湿度
weatherinfo.(k).get("direct").toString());//风向
weatherinfo.(k).get("wid").toString());//天⽓类型
weatherinfo.setRefreshTime(new Date());//刷新时间
}
//保存写⼊信息
weatherRepository.save(weatherinfo);
}
}
}catch (Exception e){
System.out.println(e);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。