读取xml文件类三

else if(e.getName().equals("interceptor-stack")){
					if(null==stackmap){
						stackmap=new HashMap<String, InterceptorStack>();
					}
					InterceptorStack stack=new InterceptorStack();
					stack.setStackname(e.attributeValue("name"));
					List<InterceptorInfo> infolist=new ArrayList<InterceptorInfo>();
					List<Element> infoe=e.elements();
					for(Element refe:infoe){
						String refname=refe.attributeValue("name");
						for(InterceptorInfo info:allinterceptor){
							if(refname.equals(info.getInterceptorname())){
								infolist.add(info);
								break;
							}
						}
					}
					stack.setInterceptorlist(infolist);
					stackmap.put(stack.getStackname(), stack);
				}else if(e.getName().equals("action")){
					if(null==actionmap){
						actionmap=new HashMap<String, Action>();
					}
					Action action=new Action();
					action.setActionname(e.attributeValue("name"));
					action.setActionmethod(e.attributeValue("method"));
					action.setActionclass(e.attributeValue("class"));
					List<Element> actionelist=e.elements();
					Map<String, Result> resultmap=null;
					List<InterceptorStack> stacklist=null;
					List<InterceptorInfo> interceptorlist=null;
					for(Element actione:actionelist){
						if(actione.getName().equals("result")){
							if(null==resultmap){
								resultmap=new HashMap<String, Result>();
							}
							Result result=new Result();
							result.setResultname(actione.attributeValue("name"));
							Attribute typeatt=actione.attribute("type");
							if(typeatt!=null){
								result.setResulttype(typeatt.getValue());
							}
							result.setResultjsp(actione.getText());
							resultmap.put(result.getResultname(), result);
						}else if(actione.getName().equals("interceptorstack-ref")){
							if(null==stacklist){
								stacklist=new ArrayList<InterceptorStack>();
							}
							String stackname=actione.attributeValue("name");
							InterceptorStack stack=stackmap.get(stackname);
							stacklist.add(stack);
						}

猜你喜欢

转载自wenkaixuan.iteye.com/blog/1399303