Java高级怎样读取和处理XML的配置文件_第1页
Java高级怎样读取和处理XML的配置文件_第2页
Java高级怎样读取和处理XML的配置文件_第3页
Java高级怎样读取和处理XML的配置文件_第4页
Java高级怎样读取和处理XML的配置文件_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——Java高级怎样读取和处理XML的配置文件Java高级:怎样读取和处理XML的配置文件

Java高级:怎样读取和处理XML的配置文件呢?看了下面我整理的内容你就知道怎么解决您的问题了,梦想对您有所扶助!更多内容请关注我!

在我们的程序中,通常要有一些根据主机环境确定的变量.譬如数据库访问用户名和密码,不同的主机可能设置不一样.只要更改XML配置文件,就可以正常运行.

localhost

sqlname

username

password

上面这个myenv.xml配置文件一般是放在tomcat的WEB-INF/classes目次下.

我们编制一个Java程序直接读取,将dbhostdbuserdbpassword提取出来供其他程序访问数据库用.

目前使用SAX对比的多,与DOM主要识别是SAX是一行一行读取XML文件举行分析,适合对比大文件,DOM是一次性读入内存,鲜明不能对付大文件.这里我们使用SAX解析,由于SAX解析器不断在进展,网上有不少文章是针对老版本的.假设你使用JDK1.4,可以参考使用SAX处理XML文档一文.这里的程序是根据其提升并且经过实践调试得来的.

对上面myenv.xml读取的Java程序:

importorg.xml.sax.Attributes;

importorg.xml.sax.helpers.DefaultHandler;

importorg.xml.sax.SAXException;

importjava.util.Properties;

//使用DefaultHandler的好处是不必罗列出全体方法,

publicclassConfigParserextendsDefaultHandler

////定义一个Properties用来存放dbhostdbuserdbpassword的值

privatePropertiesprops;

privateStringcurrentSet;

privateStringcurrentName;

privateStringBuffercurrentValue=newStringBuffer;

//构建器初始化props

publicConfigParser

ps=newProperties;

publicPropertiesgetProps

returnps;

//定义开头解析元素的方法.这里是将中的名称xxx提取出来.

publicvoidstartElementStringuri,StringlocalName,StringqName,Attributesattributes

throwsSAXException

currentValue.delete0,currentValue.length;

this.currentName=qName;

//这里是将之间的值参与到currentValue

publicvoidcharacterschar[]ch,intstart,intlengththrowsSAXException

currentValue.appendch,start,length;

//在遇到终止后,将之前的名称和值一一对应保存在props中

publicvoidendElementStringuri,StringlocalName,StringqNamethrowsSAXException

props.putqName.toLowerCase,currentValue.toString.trim;

上面的这个解析程序对比简朴吧?其实解析XML就是这么简朴.

现在我们已经将dbhostdbuserdbpassword的值localhostsqlnameusernamepassword提取了出来.但是这只是在在解析器内部,我们的程序还不能访问.需要再编制一个程序.

importjava.util.Properties;

importjavax.xml.parsers.SAXParser;

importjavax.xml.parsers.SAXParserFactory;

import.URL;

publicclassParseXML

//定义一个Properties用来存放dbhostdbuserdbpassword的'值

privatePropertiesprops;

Java高级:怎样读取和处理XML的配置文件

//这里的props

publicPropertiesgetProps

returnps;

publicvoidparseStringfilenamethrowsException

//将我们的解析器对象化

ConfigParserhandler=newConfigParser;

//获取SAX工厂对象

SAXParserFactoryfactory=SAXParserFactory.newInstance;

factory.setNamespaceAwarefalse;

factory.setValidatingfalse;

//获取SAX解析

SAXParserparser=factory.newSAXParser;

//得到配置文件myenv.xml所在目次.tomcat中是在WEB-INF/classes

//下例中BeansConstants是用来存放xml文件中配置信息的类,可以自己代替或定义

URLconfURL=BeansConstants.class.getClassLoader.getResourcefilename;

try

//将解析器和解析对象myenv.xml联系起来,开头解析

parser.parseconfURL.toString,handler;

//获取解析告成后的属性以后我们其他应用程序只要调用本程序的props就可以提取出属性名称和值了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论