如题,我在做一个三级联动菜单,已用XML实现,但XML是写死的,现在要求有个参数管理JSP页面可以添加修改和删除(修改可以不做)XML里的数据。注意:由于是联动的,XML里的文件是树状的,省,市,区这样的。求高手,求代码。
public class ReadXml { int count=0; /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ReadXml rs=new ReadXml(); File file=new File("D://udp//"); File[] files=file.listFiles(); for(int i=0;i<files.length;i++) { rs.iterateWholeXML(files[i].getAbsolutePath()); //System.out.println(files[i].getAbsolutePath()); } System.out.println(rs.getCount()); }private Map<String,Integer> fields = new HashMap<String,Integer>(); { fields.put("ItemSum",0); } public String[] values = new String[13]; public int fieldCount(){ return fields.size(); } public void addFild(int index,String value){ values[index] = value; } public String getField(String field){ return values[fields.get(field)]; } public int getCount() { return count; } public List<ReadXml> iterateWholeXML(String filename) { List<ReadXml> beans = new ArrayList<ReadXml>(); SAXReader saxReader = new SAXReader(); try { Document document = saxReader.read(new File(filename)); String a=document.getRootElement().element("Table").attributeValue("ItemSum"); count=count+Integer.parseInt(a); //System.out.println(a); // Element root = document.getRootElement();// //获取表数据节点对象集合// List<Element> datas = root.elements("Body");// // // //System.out.println(table.getName());// // for (Element dataNode : datas) {// //获取表数据所有行节点集合// List<Element> rs = dataNode.elements("Table");// System.out.println(rs.indexOf("ItemSum"));// //System.out.println(rs.get(0).getStringValue());// //// for (Element rNode : rs) {//// //一行数据//// ReadXml bean = new ReadXml();//// //获取每行的字段值节点集合//// List<Element> vs = rNode.elements("V");//// //bean只有前两个属性,因此i < 2//// for (int i = 0; i < vs.size() && i < 12; i++) {//// //将值设置进bean对象,可通过反射实现//// bean.addFild(i, vs.get(i).getStringValue());////// System.out.println(vs.get(i).getStringValue()); //// }//// beans.add(bean);//// }// } } catch (DocumentException e) { //e.printStackTrace(); //logger.info(e); } return beans; }根据要求改成一下