当我们在编写代码时,通常会遇到将各类信息或参数放置在配置文件中的情况,本文将介绍如何解析xml文件获取各类参数信息。
请自行下载dom4j.jar文件并引入。
假设我们使用jdbc连接数据库,我们需要提供url,username,password,此时我们可以创建如下xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<connectJDBC>
<url value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<username value="scott" />
<password value="scott" />
</connectJDBC>
将文件保存为connectJDBC.xml并存放在src目录下
此时我们需要创建一个读取配置文件的类:
/**
* 资源文件类
*/
public class NameResourceProperties {
private static String url = ""; // 数据库url地址
private static String username = ""; // 数据库用户名
private static String password = ""; // 数据库密码
static {
loadProperties();// 读取配置文件方法
}
private static void loadProperties() throws Exception {
SAXReader reader = new SAXReader();
InputStream in = NameResourceProperties.class
.getResourceAsStream("/connectJDBC.xml");
Document doc = reader.read(in);
Element rootEle = doc.getRootElement();// 根节点Element
// 获取url
Element urlEle = rootEle.element("url");
url = urlEle.attributeValue("value");
// 获取username
Element usernameEle = rootEle.element("username");
username = usernameEle.attributeValue("value");
// 获取password
Element passwordEle = rootEle.element("password");
password = passwordEle.attributeValue("value");
}
public static String getUrl() {
return url;
}
public static String getUsername() {
return username;
}
public static String getPassword() {
return password;
}
}
这样,我们可以直接通过NameResourceProperties类的getter方法,获取到我们想要的url,username,password
当然,以上简单的实例,还可以无限制的扩展,比如微信回复中将配置的回复内容写在配置文件中,此时我们可以通过while循环为List赋值。