什么是Dom4j及其初级使用方法
2010-09-02 19:50
447 查看
什么是Dom4j及其初级使用方法
(一)什么是Dom4j?
Dom4j是Document for Java的简称,是用java解析dom文档的组件。
在绝大多数应用中,都会需要配置文件。比如要将数据库从mysql改为oracle,使用配置文件会很方便,而不需要修改代码,所以解析配置文件、读取信息也是代码的一部分。
如今有很多种解析xml文件的方式:DOM、SAX、JDom、Dom4j等等。其中最优秀、使用最广的就是Dom4j。著名的Hibernate框架也是使用这的,Sun官方也是使用Dom4j的。关于上面四者的介绍与优缺点可参考:http://qqwyy.javaeye.com/blog/150227。
(二)Dom4j怎么解析XML
下面我们就以数据库的配置文件为例,来讲解一下Dom4j是怎么解析xml文件的。
平时我们在用java代码连接数据库时,肯定会用到Class.forName(className);conn = DriverManager.getConnection(url,username, password);如果更换了数据库,就会更换className、url,或者更换了username、password,这样都会更改代码,这样的方式是不合理的。所以应该把这些会变更的代码提取在配置文件里,以后要更换了数据库,可以直接修改配置文件,而不用更改代码。数据库配置文件DBConfig.xml如下:
那么Dom4j怎么解析该xml文件呢?
首先要使用Dom4j先引入jar包。下载Dom4j,以dom4j-1.6.1为例:将dom4j-1.6.1.jar和lib/jaxen-1.1-beta-6.jar两jar包加入。
接着解析代码如下:
代码使用单例模式,只有一个实例。在构造方法中读取DBConfig.xml文件并解析。这样读取一次后,以后就再也不用读取文件了,直接使用既可以了。如果要更换数据库,可以直接修改DBConfig.xml文件。
到此就完成了xml文件的解析。因此可以用Dom4j解析xml文件了。
(一)什么是Dom4j?
Dom4j是Document for Java的简称,是用java解析dom文档的组件。
在绝大多数应用中,都会需要配置文件。比如要将数据库从mysql改为oracle,使用配置文件会很方便,而不需要修改代码,所以解析配置文件、读取信息也是代码的一部分。
如今有很多种解析xml文件的方式:DOM、SAX、JDom、Dom4j等等。其中最优秀、使用最广的就是Dom4j。著名的Hibernate框架也是使用这的,Sun官方也是使用Dom4j的。关于上面四者的介绍与优缺点可参考:http://qqwyy.javaeye.com/blog/150227。
(二)Dom4j怎么解析XML
下面我们就以数据库的配置文件为例,来讲解一下Dom4j是怎么解析xml文件的。
平时我们在用java代码连接数据库时,肯定会用到Class.forName(className);conn = DriverManager.getConnection(url,username, password);如果更换了数据库,就会更换className、url,或者更换了username、password,这样都会更改代码,这样的方式是不合理的。所以应该把这些会变更的代码提取在配置文件里,以后要更换了数据库,可以直接修改配置文件,而不用更改代码。数据库配置文件DBConfig.xml如下:
<?xml version="1.0" encoding="UTF-8"?> <db_config> <driver-name>oracle.jdbc.driver.OracleDriver</driver-name> <url>jdbc:oracle:thin:@localhost:1521:oracle</url> <username>admin</username> <password>admin</password> </db_config>
那么Dom4j怎么解析该xml文件呢?
首先要使用Dom4j先引入jar包。下载Dom4j,以dom4j-1.6.1为例:将dom4j-1.6.1.jar和lib/jaxen-1.1-beta-6.jar两jar包加入。
接着解析代码如下:
import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class DBConfig { static String[] dbInfo = new String[4]; // 使用单例模式 private static DBConfig instanse = null; private DBConfig() { Document d1 = null; try { d1 = new SAXReader().read(Thread.currentThread() .getContextClassLoader() .getResourceAsStream("DBConfig.xml")); Element e1 = (Element) d1 .selectObject("/db_config/driver-name"); Element e2 = (Element) d1.selectObject("/db_config/url"); Element e3 = (Element) d1 .selectObject("/db_config/username"); Element e4 = (Element) d1 .selectObject("/db_config/password"); dbInfo[0] = e1.getStringValue(); dbInfo[1] = e2.getStringValue(); dbInfo[2] = e3.getStringValue(); dbInfo[3] = e4.getStringValue(); } catch (DocumentException e) { e.printStackTrace(); } } public static DBConfig getInstance() { if (instanse == null) { instanse = new DBConfig(); } return instanse; } public String[] getDbInfo() { return dbInfo; } //一个main测试方法: public static void main(String[] args){ String[] dbInfo = DBConfig. getInstance(). getDbInfo(); for(int i= 0;i< dbInfo.lenght;i++){ System.out.println(dbInfo[i]); } } }
代码使用单例模式,只有一个实例。在构造方法中读取DBConfig.xml文件并解析。这样读取一次后,以后就再也不用读取文件了,直接使用既可以了。如果要更换数据库,可以直接修改DBConfig.xml文件。
到此就完成了xml文件的解析。因此可以用Dom4j解析xml文件了。
相关文章推荐
- 什么是Dom4j及其初级使用方法
- 什么是JTAG及其使用方法
- JAVA中NIO的使用方法及其功能详解
- C语言联合体(union)的使用方法及其本质-union
- jQuery Easing 使用方法及其图解
- LISTBOX控件:vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法
- VS打包应用程序的工具及其使用方法
- 什么是C++虚函数、虚函数的作用和使用方法
- mybatis中获取SqlSessionFactory的几种方法及其相关使用
- svn及其简要使用方法
- 你最喜欢的图片替换方法是什么,你如何选择使用?
- C#.NET中使用存储过程的方法及其优点
- 联合体(union)的使用方法及其本质
- sscanf,sscanf_s及其相关使用方法
- 什么是C++虚函数、虚函数的作用和使用方法
- dom4j 使用 方法
- Linux系统常用命令及其使用方法
- jQuery Easing 使用方法及其图解
- 继承有几种方式,分别是什么,想要实现继承可以使用哪些方法
- vc修改列表框LISTBOX的背景颜色及字体颜色及其使用方法