加入收藏|设为首页

您的位置:首 页 >> 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文件是使用最简单的形式,因此解析器相对简单,但是这已经足够对付我们的配置文件了. 

    文章来源:中华硕博网

[关闭] [打印]

Copyright 2006-2007. All rights reserved.
长沙创智新程教育技术有限公司 版权所有
地址:长沙市五一路五一新干线A座14楼1401—1406室 电话:0731-2960300 8909028 E-mail:czxc2005@gmail.com
备案号:湘ICP备09003870号