XmlHelper.java
上传用户:hensond
上传日期:2021-12-27
资源大小:817k
文件大小:2k
- package com.company.helper;
- import java.io.FileInputStream;
- import java.io.InputStream;
- import java.util.List;
- import org.dom4j.Attribute;
- import org.dom4j.Document;
- import org.dom4j.Element;
- import org.dom4j.Node;
- import org.dom4j.io.SAXReader;
- /**
- * @author cbf4Life cbf4life@126.com
- * I'm glad to share my knowledge with you all.
- */
- public class XmlHelper {
- //单例对象
- private static Document doc;
- //默认的Action的XPATH路径
- private final static String DEFAULT_ACTION_PATH = "/mvc/action";
-
- public XmlHelper(){
- this("c:/ActionConfig.xml");
- }
-
- //初始化一个XML DOCUMENT对象
- public XmlHelper(String xmlFilePath){
- try {
- InputStream xmlStream = new FileInputStream(xmlFilePath);
- doc = (new SAXReader()).read(xmlStream);
- } catch (Exception e) {
- e.printStackTrace();
- }
-
- }
-
- //根据Action名称查找出节点
- @SuppressWarnings("unchecked")
- public Element getNodeByActionName(String actionName){
- //取得所有节点
- List<Node> nodeList = doc.selectNodes(DEFAULT_ACTION_PATH);
- //遍历所有的Node节点
- System.out.println(nodeList.size());
- for(Node node:nodeList){
- Element e = (Element)node;
- Attribute a = e.attribute("name");
- //找到名字匹配的action
- if(a.getText().equals(actionName)){
- return e;
- }
- }
- return null;
- }
-
- //定义个访问者
- public static void main(String[] args) {
- XmlHelper xmlhelper = new XmlHelper();
- Element e=xmlhelper.getNodeByActionName("loginAction");
- ActionNode node = new XmlActionNode(e);
- System.out.println(node.getView("success"));
- }
- }