读取XML配置文件的工具类

来源:互联网 发布:怎么弄公司企业域名 编辑:程序博客网 时间:2024/06/05 20:14
1. 添加maven
<dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><dependency><!-- Jaxen is a universal Java XPath engine. --><groupId>jaxen</groupId><artifactId>jaxen</artifactId><version>1.1.6</version></dependency>
  


2 XMLConfig.java
package com.utils;import java.net.URL;import java.util.List;import org.dom4j.Document;import org.dom4j.Node;import org.dom4j.io.SAXReader;public class XMLConfig {private Document doc;public XMLConfig(String path){try {URL url = this.getClass().getClassLoader().getResource(path);SAXReader reader = new SAXReader();doc = reader.read(url);} catch (Exception e) {e.printStackTrace();}}public Document getDocument(){return doc;}public String getString(String path) throws Exception{Node node =doc.selectSingleNode(path);if(node!=null)return doc.selectSingleNode(path).getText();elsethrow new Exception(path + " not exists. ");}public int getInt(String path) throws Exception{Node node =doc.selectSingleNode(path);if(node!=null)return Integer.parseInt(doc.selectSingleNode(path).getText());elsethrow new Exception(path + " not exists. ");}@SuppressWarnings("unchecked")public List<Node> selectNodes(String path){return (List<Node>)doc.selectNodes(path);}}


3. 使用
try {XMLConfig config = new XMLConfig(path);String drive =config.getString("/configuration/environments/environment/dataSource/property[@name='driver']/@value") ;String url =config.getString("/configuration/environments/environment/dataSource/property[@name='url']/@value");String username =config.getString("/configuration/environments/environment/dataSource/property[@name='username']/@value");String password =config.getString("/configuration/environments/environment/dataSource/property[@name='password']/@value");int poolsize =config.getInt("/configuration/environments/environment/dataSource/property[@name='poolsize']/@value");pool = new JDBCPool(url, drive, username, password, poolsize);} catch (Exception e) {e.printStackTrace();}
原创粉丝点击