浏览 1787 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-16
最后修改:2009-09-08
<?xml version="1.0" encoding="UTF-8"?> <config-mvc> <actions> <action input="/adduser" inkRealize="ccom.ray.biz.inkrealize.AddUserAction1" ink="com.ray.biz.ink.Action1" success="/index1.jsp" fail="/fail1.jsp" > </action> <action input="/login.jsp2" inkRealize="com.roy.struts.action.LoginAction2" ink="com.roy.struts.action2" success="/index2.jsp" fail="/fail2.jsp" > </action> </actions> </config-mvc> package com.ray.mvc.xmlreader; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import com.ray.mvc.pojo.ActionModel; /** * 功能:使用DOM4J加载xml文件,并获取action属性列表 * 时间:2009年6月14日 * @author Ray * @version 1.0.1 * */ public class DOM4JReadXml { //单例模式 private static DOM4JReadXml instance = new DOM4JReadXml(); //xml文件路径 private static final String FILE_NAME="/xml/mvc_config.xml"; private Document doc; /** * 构造函数 * 读取xml文件 * */ public DOM4JReadXml(){ //如果doc 为空 if(doc==null){ //通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 // File file = new File(FILE_NAME); // //测试此抽象路径名表示的文件是否是一个标准文件 // System.out.println("file.isFile()="+file.isFile()); // if(!file.isFile()){//如果不是标准文件,抛出异常 // try { // throw new IOException("Config file is not exist. " + FILE_NAME); // } catch (IOException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } // }else{ //创建SAXReader 实例 SAXReader saxReader = new SAXReader(); //设置编码为utf-8 saxReader.setEncoding("utf-8"); try { // doc =saxReader.read(file); doc = saxReader.read(getClass().getResourceAsStream(FILE_NAME)); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } // } } // new XmlDBReader().getXML(); } /** * 获得xml文件的属性列表 * @return list * @throws Exception */ public List getAttributList(){ List list=new ArrayList(); //获取到 xml文件的actions 节点 Element actions = (Element) doc.selectSingleNode("/config-mvc/actions"); Iterator iterator = actions.elementIterator("action"); while(iterator.hasNext()){//如果仍有元素可以迭代,则返回 true Element action = (Element) iterator.next(); //创建ActionModel 实例 ActionModel model=new ActionModel(); // System.out.println("input="+action.attributeValue("input")); // System.out.println("ink="+action.attributeValue("ink")); // System.out.println("inkRealize="+action.attributeValue("inkRealize")); // System.out.println("fail="+action.attributeValue("fail")); // System.out.println("success="+action.attributeValue("success")); // System.out.println("-----------------------------------------------"); model.setInput(action.attributeValue("input")); model.setInk(action.attributeValue("ink")); model.setInkRealize(action.attributeValue("inkRealize")); model.setFail(action.attributeValue("fail")); model.setSuccess(action.attributeValue("success")); list.add(model); } return list; } public static DOM4JReadXml getInstance(){ return instance; } } 望各位提出意见 !!! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |