rivate ConfigReader()
{
SAXReader reader = new SAXReader();
reader.setEncoding("utf-8");
InputStream in = (InputStream) Thread.currentThread().
getContextClassLoader().getResourceAsStream("XmlConfig.xml");
//此处Config.xml文件必须为UTF-8编码的文件
try
{
//将配置文件装载到Document对象中
Document doc = reader.read(in);
Element driverName = (Element)doc.selectObject("/config/db-info/driver-name");
Element url = (Element)doc.selectObject("/config/db-info/url");
Element passWord = (Element)doc.selectObject("/config/db-info/password");
Element userName = (Element)doc.selectObject("/config/db-info/user-name");
//将从xml获取的配置信息写入jdbcConfig实例中
jdbcConfig.setDriverName(driverName.getStringValue());
jdbcConfig.setPassWord(passWord.getStringValue());
jdbcConfig.setUrl(url.getStringValue());
jdbcConfig.setUserName(userName.getStringValue());
} catch (DocumentException e)
{
// TODO: handle exception
e.printStackTrace();
}
}
本人新手,在写数据库配置读取代码的时候,出现两个问题,分享一下。首先是SAXReader读取XmlConfig.xml时要设定好编码方式,要与XmlConfig.xml编码方式一样,此处是UTF-8编码,同时要注意一个问题,就是自己的XmlConfig.xml文件的编码,如果是经过复制粘贴放在.txt文件后改为.xml文件的话(我的问题就是出在这里),可能会出现实际编码方式不是UTF-8(尽管你的文件是用的这个编码方式<?xml version="1.0" encoding="UTF-8"?>)。建议建立配置文件的时候是在工程中直接建立,设置好就没有问题了。另外还要提醒一下InputStream in = (InputStream) Thread.currentThread().getContextClassLoader().getResourceAsStream("XmlConfig.xml");的默认路径为工程src目录下。希望能对你有帮助。