`

Java读取XML配置文件详细总结(dom4j方式)

阅读更多
最初的想法是不把mysql的连接参数写到程序中,因为每次要修改参数总是很麻烦,于是想找到一种能够方便修改的方式,后来就找到了通过XML文件存储程序参数的方法。本文中使用dom4j读取xml文件



XMLReader类
import java.io.File;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 
 * @author Martin3000
 * 
 */
public class XMLReader {
	// 配置文件名
	private static String filename = "conf.xml";
	private static Config config;

	/**
	 * 从配置文件中读取参数并保存到Config类中,
	 * 很多时候程序中会多次使用到配置中的参数, 
	 * 于是设置成静态方法,读取一次后就一直保存其中的参数,
	 * 不再反复读取
	 * 
	 * @return
	 */
	public static Config loadconfig() {
		if (config == null)
			config = getconfig();
		return config;
	}

	private static Config getconfig() {
		Config config = new Config();
		try {
			File f = new File(filename);
			if (!f.exists()) {
				System.out.println("  Error : Config file doesn't exist!");
				System.exit(1);
			}
			SAXReader reader = new SAXReader();
			Document doc;
			doc = reader.read(f);
			Element root = doc.getRootElement();
			Element data;
			Iterator<?> itr = root.elementIterator("VALUE");
			data = (Element) itr.next();

			config.server = data.elementText("server").trim();
			config.user = data.elementText("user").trim();
			config.pass = data.elementText("pass").trim();
			config.port = data.elementText("port").trim();
			config.dbname = data.elementText("dbname").trim();

		} catch (Exception ex) {
			System.out.println("Error : " + ex.toString());
		}
		return config;

	}
}

Config类

读取文件中的配置到Config类中,这里主要是Mysql的连接配置
/**
 * 
 * @author Marin3000
 *
 */
public class Config {

	public String server;
	public String user;
	public String pass;
	public String port;
	public String dbname;

	public String getConnString() {

		String connString = "jdbc:mysql://" + server + ":" + port + "/"
				+ dbname + "?user=" + user + "&password=" + pass
				+ "&useUnicode=true&characterEncoding=UTF-8";
		return connString;

	}

}

XML文格式(conf.xml)
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
	<VALUE>
		<!-- mysql连接设置 -->
		<server>127.0.0.1</server>
		<dbname>users</dbname>
		<user>root</user>
		<pass>pass</pass>
		<port>3306</port>
	</VALUE>
</CONFIG> 

好了 再也不会有在源程序里修改配置的烦恼了,附件里有dom4j的jar包下载
2
0
分享到:
评论
2 楼 云卷云舒灬 2016-08-02  
1 楼 longying2008 2012-12-04  
个人感觉可以在data = (Element) itr.next()处加个try...catch语句。

相关推荐

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。下载地址 .txt

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...

    java解析xml文件的开发包dom4j.jar

    DOM4J性能最好,连Sun的JAXM也在用DOM4J.目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J.

    dom4j-XML解析.zip

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...

    xml解析器-dom4j的支持包_ 教程

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...

    资源jar包dom4j-1.6.1.rar

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...

    dom4j-jar包下载

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...

    dom4j-1.6.1.jar v2017.3.17.zip

    dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口,马上下载dom4jJar吧。 dom4j-1.6.1.jar文件简介 Dom4j是一个Java的XML API,是jdom的...

    dom4j-2.1.1.jar,dom4j-1.6.1.jar

    xml SAXReader 的解析库。 Java ,Andriod。...如今可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这已经是必须使用的jar包, Hibernate也用它来读写配置文件。

    dom4j 2.1.1.zip

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...

    dom4j-2.0.4.jar

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...

    dom4j-1.5.jar

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...

    dom4j-1.6 JAR包+API文档

    dom4j-1.6 dom4j-1.6 JAR包 dom4j-1.6API文档;...如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这是必须使用的jar包, Hibernate用它来读写配置文件。

    dom4j-2.1.3下载.rar

    xml工具包,用来解析xml文档 dom4j是一个Java的XML ...如今可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这已经是必须使用的jar包, Hibernate也用它来读写配置文件。

    dom4j+Eclipse项目源码,包含案例,Java程序用来读写xml文件。

    java操作xml文件,源码案例中实现了对xml文件的增、删、改、...我本人也用dom4j做过读取项目数据库xml配置文件的功能,增加了项目的可移植性、并且方便维护。 dom4j操作xml配置文件的神器。你值得使用,倾心为您整理。

    dom4j文档和源码及jar包

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...

    dom4j-1.6.1.jar和jaxen-1.1-beta-7.jar

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...

    dom4j-1.6.1 xml开发利器

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...

    dom4j-2.0.0-RC1包含jar包全部源码及文档.rar

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM ...

    dom4j-1.6.1

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...

    dom4j-2.0.0-ALPHA.rar

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...

Global site tag (gtag.js) - Google Analytics