扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
|
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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者