扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
|
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;
}
//定义开始解析元素的方法。
这里是将 |
import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.net.URL;
public class ParseXML
{
//定义一个Properties
用来存放 dbhost dbuser dbpassword的值
private Properties props;
//这里的props
public Properties getProps()
{
return this.props;
}
public void parse(String filename)
throws Exception {
//将我们的解析器对象化
ConfigParser handler = new ConfigParser();
//获取SAX工厂对象
SAXParserFactory factory
= SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
//获取SAX解析
SAXParser parser
= factory.newSAXParser();
//得到配置文件myenv.xml所在目录。
tomcat中是在WEB-INF/classes
//下例中BeansConstants是用来
存放xml文件中配置信息的类,
可以自己代替或定义
URL confURL = BeansConstants.class.
getClassLoader().getResource(filename);
try
{
//将解析器和解析对象myenv.xml联系起来,
开始解析
parser.parse(confURL.toString(), handler);
//获取解析成功后的属性
以后我们其他应用程序只要调用本程序
的props就可以提取出属性名称和值了
props = handler.getProps();
}finally{
factory=null;
parser=null;
handler=null;
}
}
} |
由于我们的XML文件是使用最简单的形式,因此解析器相对简单,但是这已经足够对付我们的配置文件了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。