粘贴出来仅供大家参考,重点要放在读取xml上。
//找到需要读取的XML文件的位置 Document doc = null; //主键自增 int i = 1; try { System.out.println(request.getRequestURL()+"+"+request.getRealPath("/")); in = new FileInputStream(new File("G:/import.xml")); doc = new SAXReader().read(in); Map mapNumber = sqlRunner.queryForMap(sqlRunner.sql("import.base.search_base_station")); if(mapNumber.get("NUM")!=null){ i=Integer.parseInt(mapNumber.get("NUM").toString())+1; } } catch (DocumentException e1) { e1.printStackTrace(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (SQLException e1) { e1.printStackTrace(); } Element root = doc.getRootElement();//获取根元素 List<Element> childElements = root.elements();//获取当前元素下的全部子元素 List<Map> mapList = new ArrayList<Map>(); for (Iterator iter = childElements.iterator();iter.hasNext();) { i++; Element el = (Element) iter.next(); List turnosList=el.elements("xmlColum"); Map<String,Object> map = new HashMap<String,Object>(); map.put("INSTANCE_ID",i); for(Iterator iter1=turnosList.iterator();iter1.hasNext();) { Element el2 = (Element) iter1.next(); String index = el2.elementText("xmlIndex"); String name = el2.elementText("xmlName"); String value = el2.elementText("xmlValue"); map.put(name,value); } mapList.add(map); }
读取时要注意xml的节点结构