公开课通知
欲知最新讲座信息,请拔打电话:
0731-82960300 88909028
您的位置:首 页 >> JAVA技术 >> 文章正文
文章正文
JAVA技术:XML配置文件的读取处理
发布时间:2009-5-14 9:45:59 发布人:本站
Java和XML是黄金组合,网上已经有很多文章介绍,XML作为电子商务中数据交换,已经有其不可替代的作用,但是在平时系统开发中,我们不一定都用到数据交换,是不是无法使用XML了?
当然不是,现在已经有一个新趋势,java程序的配置文件都开始使用XML格式,以前是使用类似windows的INI格式..使用XML作为Java的配置文件有很多好处,从Tomcat的安装配置文件和J2ee的配置文件中,我们已经看到XML的普遍应用,让我们也跟随流行趋势用XML武装起来.
现在关键是如何读取XML配置文件?有好几种XML解析器:主要有DOM和SAX,这些区别网上文章介绍很多.
在apache的XML项目组中,目前有XercesXalanCocoon几个开发XML相关技术的project.Tomcat本身使用的是Sun的JAXP,而其XSLTaglibproject中使用Xerces解析器.
好了,上面都是比较烦人的理论问题,还是赶紧切入XML的配置文件的读取吧.
在我们的程序中,通常要有一些根据主机环境确定的变量.比如数据库访问用户名和密码,不同的主机可能设置不一样.只要更改XML配置文件,就可以正常运行.
importorg.xml.sax.helpers.DefaultHandler;
importorg.xml.sax.SAXException;
importjava.util.Properties;
//使用DefaultHandler的好处是不必陈列出所有方法,
publicclassConfigParserextendsDefaultHandler
publicPropertiesgetProps
//定义开始解析元素的方法.这里是将中的名称xxx提取出来.
publicvoidstartElement
throwsSAXException
//这里是将之间的值加入到currentValue
publicvoidcharactersthrowsSAXException
//在碰到结束后,将之前的名称和值一一对应保存在props中
publicvoidendElementthrowsSAXException
}
上面的这个解析程序比较简单吧?其实解析XML就是这么简单.
现在我们已经将dbhostdbuserdbpassword的值localhostsqlnameusernamepassword提取了出来.但是这只是在在解析器内部,我们的程序还不能访问.需要再编制一个程序.
importjavax.xml.parsers.SAXParser;
importjavax.xml.parsers.SAXParserFactory;
importjava.net.URL;
publicclassParseXML
publicvoidparsethrowsExceptionfinally}}
由于我们的XML文件是使用最简单的形式,因此解析器相对简单,但是这已经足够对付我们的配置文件了.
文章来源:中华硕博网
张老师
