在我们做项目的时候会经常用到XML文件用来配置系统,XML让系统更加的具有了灵活性,Java如何从XML中取出我们想要的数据呢?下面是我利用DOM4J来实现取出XML文件中的数据。
XmlConfigReader.java类
XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<db-info>
<driver-name>oracle.jdbc.driver.OracleDriver</driver-name>
<url>jdbc:oracle:thin:@localhost:1521:ORCL</url>
<user-name>drp1</user-name>
<password>drp1</password>
</db-info>
</config>
XmlConfigReader.java类
import java.io.InputStream;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 采用单例模式解析sys-config.xml文件
* @author IT
*
*/
public class XmlConfigReader {
private XmlConfigReader(){
SAXReader reader=new SAXReader();
InputStream in=Thread.currentThread().getContextClassLoader().getResourceAsStream("sys-config.xml");//XML文件名
try {
Document doc=reader.read(in);
/*取出drivername*/
Element driverNameElt=(Element)doc.selectObject("/config/db-info/driver-name");
String driverName=driverNameElt.getStringValue();
/*取出url*/
Element urlElt=(Element)doc.selectObject("/config/db-info/url");
String urlName=urlElt.getStringValue();
/*取出user-name*/
Element userNameElt=(Element)doc.selectObject("/config/db-info/user-name");
String userName=userNameElt.getStringValue();
/*取出password*/
Element passwordElt=(Element)doc.selectObject("/config/db-info/password");
String password=passwordElt.getStringValue();
}
}