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();
- }
- }
- }