全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.有很多时候我们需要将相关动态的信息保存到XML文件中去,那么我们就可以动态输入相关信息。特别是针对数据库方面的操作的时候就非常地灵活。那我现在假如项目中的操作数据库的包为model里面存放了我们的XML文件db.xml现在来看看如何解析出来相关的数据来调用。 第一个类:package model;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() ps = new Properties(); public Properties getProps() return ps; /定义开始解析元素的方法. 这里是将中的名称xxx提取出来. public void startElement(String uri, String localName, String qName, Attributes attributes)throws SAXException currentValue.delete(0, currentValue.length(); this.currentName =qName; /这里是将之间的值加入到currentValue public void characters(char ch, int start, int length) throws SAXException currentValue.append(ch, start, length); /在遇到结束后,将之前的名称和值一一对应保存在props中 public void endElement(String uri, String localName, String qName) throws SAXException props.put(qName.toLowerCase(), currentValue.toString().trim(); 可以直接拷贝过来用了。 第二个类:package model;import java.util.Properties;import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import javax.xml.parsers.SAXParserFactory;import org.xml.sax.SAXException;import .URL;public class ParseXML /定义一个Properties 用来存放 dbhost dbuser dbpassword的值 private Properties props; /这里的props public Properties getProps() return ps; public void parse(String filename) /将我们的解析器对象化 ConfigParser handler = new ConfigParser(); /获取SAX工厂对象 SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setNamespaceAware(false); factory.setValidating(false); /获取SAX解析 SAXParser parser=null; try parser = factory.newSAXParser(); catch (Exception e1) e1.printStackTrace(); URL confURL = null; /得到配置文件myenv.xml所在目录. tomcat中是在WEB-INF/classes /下例中BeansConstants是用来存放xml文件中配置信息的类,可以自己代替或定义 try confURL = ParseXML.class.getClassLoader().getResource(filename);/只需要将我们所需要的XML文件名字输入进去就可以了! catch(Exception e) System.out.print(e.toString(); try /将解析器和解析对象myenv.xml联系起来,开始解析 parser.parse(confURL.toString(), handler); /获取解析成功后的属性 以后 我们其他应用程序只要调用本程序的props就可以提取出属性名称和值了 props = handler.getProps(); catch(Exception e) System.out.println(e.toString(); finally factory=null; parser=null; handler=null; 下面是我们所需要调用的XML文件内容: localhost tianya_speed_test root 321 现在需要将其中的相关内容读取出来。包括数据库主机地址,数据库名字,用户名及密码好了,现在准备工作已经都做完了。现在就可以来想想如何来调用我们刚才解析出来的内容喽:public void initVariable() ParseXML test = new ParseXML(); try test.parse(model/db.xml);/表示实际的XML文件位置,如果没有找到就报空指针异常! catch(Exception e) System.out.print(e.toString(); Properties pro = test.getProps();/获取到PRO对象然后用它去调用相关的属性! dbServer = pro.getProperty(dbhost);/相当于Python中的字典类型。 dbName = pro.getProperty(dbname); dbUser = pro.getProperty(dbuser); dbPwd = pro.getProperty(dbpassword); tcp.validnode_checki
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级注册安全工程师之安全生产技术基础能力检测试卷B卷附答案
- 胆汁尿的护理
- 雨课堂学堂在线学堂云《财政与民生(辽宁大学 )》单元测试考核答案
- 2026年网络预约出租汽车驾驶员从业资格考试题库及参考答案(能力提升)
- 2025四川成都市武侯区玉林社区卫生服务中心第三次社会招聘编外人员2人参考题库带答案解析
- 2026秋季国家管网集团华中公司高校毕业生招聘备考题库附答案
- 南昌农业发展集团有限公司劳务派遣岗招聘历年真题汇编附答案解析
- 2025重庆三峡学院招聘4人模拟试卷附答案解析
- 2026年设备监理师之设备监理合同考试题库及参考答案(典型题)
- 2026年质量员之土建质量基础知识考试题库含答案ab卷
- 粉笔线上协议班 合同
- 二十届四中全会测试题及参考答案
- 边检站笔试题目及答案
- 23G409先张法预应力混凝土管桩
- EQ2102培训讲义1课件
- 计算机专业职业规划-PPT
- 监护人培训台账
- 超星学习通《人工智能、语言与伦理》章节测试答案
- 计算机导论期末考试试题及答案
- 电批知识培训精品课件
- 多宝视多媒体生物刺激知觉学习视觉训练系统课件
评论
0/150
提交评论