一个容易dom4j读取xml文件的例子

一个简单dom4j读取xml文件的例子

XML配置文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<config>
	<db-info>
		<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
		<url>jdbc:oracle:thin:@127.0.0.1:1521:ORCL</url>
		<username>username</username>
		<password>password</password>
	</db-info>
</config>
 

读取XML程序如下,利用单例模式:

package com.king.drp.util;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 采用单例模式读取xml配置文件sys-config.xml
 * @author lijike
 *
 */
public class ConfigReader {

    //静态的私有成员变量
	private static ConfigReader instance = new ConfigReader();
	
	//公共的静态入口方法
	public static ConfigReader getInstance() {
		return instance;
	}
	
	private Document doc;
	
	private JdbcInfo jdbcInfo;
	
	public JdbcInfo getJdbcInfo() {
		return jdbcInfo;
	}
	
	//私有的构造方法
	private ConfigReader() {
		try {
			doc = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml"));
			Element driverNameElt = (Element)doc.selectObject("/config/db-info/driver-name");
			Element urlElt = (Element)doc.selectObject("/config/db-info/url");
			Element usernameElt = (Element)doc.selectObject("/config/db-info/username");
			Element passwordElt = (Element)doc.selectObject("/config/db-info/password");
			jdbcInfo = new JdbcInfo();
			jdbcInfo.setDriverName(driverNameElt.getStringValue());
			jdbcInfo.setUrl(urlElt.getStringValue());
			jdbcInfo.setUsername(usernameElt.getStringValue());
			jdbcInfo.setPassword(passwordElt.getStringValue());
		} catch (DocumentException e) {
			e.printStackTrace();
		}
	}
}