读取XML文件内容
myeclipse中类的格式
上面中的RunMain.java为程序执行的入口,JdbcUtil.java为实体类,XmlDocumentUtil.java执行解释xml文件与获取里面的属性,程序所需要导入的包为dom4j-1.6.1.jar与jaxen-1.1-beta-6.jar,jdbc.cfg.xml文件为需解释的xml文件
此程序下载
jdbc.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <jdbc-configurat5ion> <jdbc-properties> <driverClass>com.mysql.jdbc.Driver</driverClass> <url>jdbc:mysql://192.168.0.254:3306/haiyin</url> <username>root</username> <password>root</password> </jdbc-properties> </jdbc-configurat5ion>
RunMain.java
package main;
import util.XmlDocumentUtil;
/**
* 程序运行入口-设定xml文件名后调用程序
* @author CccccYj
*/
public class RunMain {
public static void main(String[] args) {
String FILE_PATH = "config/jdbc.cfg.xml";
new XmlDocumentUtil(FILE_PATH);
}
}
RunMain首先定义文件的路径FILE_PATH,然后以此路径调用XmlDocumentUtil.java文件的有参构造函数进行执行XmlDocumentUtil.java类。
JdbcUtil.java
package pojo;
/**
* jdbc-实体类
* @author CccccYj
*
*/
public class JdbcUtil {
/** 数据库驱动 */
private String driverClass;
/** 数据库连接字段 */
private String url;
/** 用户名 */
private String username;
/** 用户密码 */
private String password;
public String getDriverClass() {
return driverClass;
}
public void setDriverClass(String driverClass) {
this.driverClass = driverClass;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
实体类,对应xml文件里面的属性。
XmlDocumentUtil.java
package util;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import pojo.JdbcUtil;
/**
* 获取xml文件与里面的properties属性
* @author CccccYj
*
*/
public class XmlDocumentUtil {
JdbcUtil jdbcUtil = new JdbcUtil();
/** 获取xml文件 */
public XmlDocumentUtil(String FILE_PATH) {
SAXReader saxReader = new SAXReader();
try {
Document doc = saxReader.read(FILE_PATH);
jdbcProperties(doc);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/** 获取xml文件中的properties属性 */
private void jdbcProperties(Document doc){
Element driverClass = (Element) doc
.selectObject("/jdbc-configurat5ion/jdbc-properties/driverClass");
jdbcUtil.setDriverClass(driverClass.getStringValue());
System.out.println("FILE_PATH:"+doc.selectObject("/jdbc-configurat5ion"));
System.out.println("driverClass:"+jdbcUtil.getDriverClass());
}
}
saxReader.read(String file)
方法读取xml文件,此时是dom4j-1.6.1.jar包在起作用。.selectObject
方法进行对xml文件里面属性的读取,注意到jdbc-configurat5ion了没有?就是说xml里面的属性名可以自定义的。