当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

<b>Java中XML配置文件的读取处理</b>[Java编程]

赞助商链接



  本文“<b>Java中XML配置文件的读取处理</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

Java和XML是黄金组合,网上已经有很多文章介绍,XML作为电子商务中数据交换,已经有其不可替换的作用,但是在平常系统开辟中,我们不一定都用到数据交换,是不是无法利用XML了?

当然不是,目前已经有一个新趋向,Java程序的配置文件都开始利用XML格局,从前是利用近似Windows的INI格局(Java中也有Propertiesy这样的类专门处理这样的属性配置文件).利用XML作为Java的配置文件有很多好处,从Tomcat的安装配置文件和J2EE的配置文件中,我们已经看到XML的广泛利用,让我们也跟随风行趋向用XML武装起来.

目前关键是若何读取XML配置文件?有好几种XML解析器:主要有DOM和SAX,在Apache的XML项目组中,目前有Xerces Xalan Cocoon几个开辟XML相关技术的project.Tomcat本身利用的是Sun的JAXP,而其XSL Taglib project中利用Xerces解析器.

好了,上面都是对比烦人的理论问题,还是赶忙切入XML的配置文件的读取吧.

在我们的程序中,普通要有一些按照主机环境肯定的变量.比方数据库拜候用户名和密码,差别的主机大概设置不一样.只要更改XML配置文件,便可以正常运行.

﹤myenv﹥
﹤datasource﹥
﹤dbhost﹥localhost﹤/dbhost﹥
﹤dbname﹥sqlname﹤/dbname﹥
﹤dbuser﹥username﹤/dbuser﹥
﹤dbpassword﹥password﹤/dbpassword﹥
﹤/datasource﹥
﹤/myenv﹥

上面这个myenv.xml配置文件普通是放在tomcat的WEB-INF/classes目录下.

我们编制一个Java程序直接读取,将dbhost dbuser dbpassword提取出来供其他程序拜候数据库用.

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

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

import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.SAXException;
import java.util.Properties;
//利用DefaultHandler的好处
是没必要摆设出全部办法,
public class ConfigParser
extends DefaultHandler
{
////定义一个Properties 用来存放
dbhost dbuser dbpassword的值
private Properties props;
private String currentSet;
private String currentName;
private StringBuffer
currentValue = new StringBuffer();
//构建器初始化props
public ConfigParser()
{
this.props = new Properties();
}
public Properties getProps()
{
return this.props;
}
//定义开始解析元素的办法.
这里是将﹤xxx﹥中的名称xxx提取出来.
public void startElement
(String uri, String localName,
String qName, Attributes attributes)
throws SAXException
{
currentValue.delete(0, currentValue.length());
this.currentName =qName;
}
//这里是将﹤xxx﹥﹤/xxx﹥之间
的值加入到currentValue
public void characters(char[] ch,
int start, int length) throws SAXException
{
currentValue.append
(ch, start, length);
}
//在碰到﹤/xxx﹥完毕后,
将之前的名称和值一一对应保存在props中
public void endElement(String uri,
String localName, String qName)
throws SAXException
{
props.put(qName.toLowerCase(),
currentValue.toString().trim());
}
}


  以上是“<b>Java中XML配置文件的读取处理</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .