解析報文後 組裝javabean類java
代碼簡要說明node
// 結果數量 private int resultNum; // 線路名稱 private String name; // 線路信息 private String info; // 沿途站點 private String stats; // 途徑站點經緯度 private String statXys; // 線路座標 private String xys; // 描述 private String description;
報文內容解析完成後,開始查詢如何獲取報文api
http://openapi.aibang.com/bus/lines?app_key=f41c8afccc586de03a99c86097e98ccb&city="+cityName+"&q="+lineapp
cityName 城市名稱 line 公交線路ui
/** * 獲取線路信息 * @param cityName * @param line * @return */ public static List<公交查詢報文拆解類javabean> getBusInfo(String cityName,String line){ URL url = null; List<公交查詢報文拆解類javabean> list = new ArrayList<Bus>(); try{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); try { cityName = URLEncoder.encode(cityName,"utf-8"); line = URLEncoder.encode(line,"utf-8"); } catch (Exception e) { e.printStackTrace(); } url = new URL("http://openapi.aibang.com/bus/lines?app_key=f41c8afccc586de03a99c86097e98ccb&city="+cityName+"&q="+line); Document doc = builder.parse(url.openStream()); NodeList node = doc.getElementsByTagName("line"); for(int i=0;i<node.getLength();i++){ 公交查詢報文拆解類javabean bus = new 公交查詢報文拆解類javabean(); String name = ""; String info = ""; String stats = ""; String statXys = ""; String xys = ""; if(doc.getElementsByTagName("name").item(i).getFirstChild() != null){ name = doc.getElementsByTagName("name").item(i).getFirstChild().getNodeValue(); } if(doc.getElementsByTagName("info").item(i).getFirstChild() != null){ info = doc.getElementsByTagName("info").item(i).getFirstChild().getNodeValue(); } if(doc.getElementsByTagName("stats").item(i).getFirstChild() != null){ stats = doc.getElementsByTagName("stats").item(i).getFirstChild().getNodeValue(); } if(doc.getElementsByTagName("stat_xys").item(i).getFirstChild() != null){ statXys = doc.getElementsByTagName("stat_xys").item(i).getFirstChild().getNodeValue(); } if(doc.getElementsByTagName("xys").item(i).getFirstChild() != null){ xys = doc.getElementsByTagName("xys").item(i).getFirstChild().getNodeValue(); } bus.setName(name); bus.setInfo(info); bus.setStats(stats); bus.setStatXys(statXys); bus.setXys(xys); bus.setDescription(name + "\n" + info + "\n" + stats); list.add(bus); } }catch(Exception e){ e.printStackTrace(); } return list; }