📄 xmlparser.java
字号:
package com.jr81.common;
import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.net.URL;
public class XMLParser{
//定义一个Properties 用来存放 dbhost dbuser dbpassword的值
private Properties props;
public XMLParser() {
super();
// TODO 自动生成构造函数存根
}
public XMLParser(String filename) {
super();
try {
parse(filename);
} catch (Exception e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
// TODO 自动生成构造函数存根
}
//这里的props
public Properties getProps() {
return this.props;
}
public String getProperty(String key){
return props.getProperty(key.toLowerCase());
}
public String getProperty(String key,String DefaultValue){
return props.getProperty(key.toLowerCase(),DefaultValue);
}
//public void parse(String filename,Class handle) throws Exception {
public void parse(String filename) throws Exception {
//将我们的解析器对象化
ParserHandler handler = new ParserHandler();
//获取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 = ParserHandler.class.getClassLoader().getResource(filename);
try
{
//将解析器和解析对象myenv.xml联系起来,开始解析
parser.parse(confURL.toString(), handler);
//获取解析成功后的属性 以后 我们其他应用程序只要调用本程序的props就可以提取出属性名称和值了
props = handler.getProps();
}finally{
factory=null;
parser=null;
handler=null;
}
}
public static void main(String[] args) throws Exception {
XMLParser test=new XMLParser();
test.parse("test.xml");
System.out.println(test.getProps().getProperty("test","test"));
System.out.println(test.getProps().getProperty("student","20"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -