使用Digester解析XML文档示例 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-22
mp;articleID=33259&pageNO=1" target="_blank">用Digester简化XML配置文件处理</a> */ public class SampleDigester{ private String configFile; public void setConfigFile(final String configFile){ this.configFile = configFile; } /** * 开始解析。 * <p> * 在本方法,new一个Digester的实例,并将本类(SampleDigester)的实例压入 *Digester的处理堆栈,调用Digester的addCallMethod方法将XML文件中的特定 *节点与处理方法联系起来,并吊桶addCallParam方法设置参数,随后解析给定的XML *文件。 * @throws IOException IO异常 * @throws SAXException SAX异常 */ public void run() throws IOException, SAXException{ //新建Digester实例 Digester digester = new Digester(); // This method pushes this (SampleDigester) class to the Digesters // object stack making its method s available to processing rules. digester.push(this); /*quasar_module/module_info为XML文件中的节点路径:<quasar_module><module_info>... *addModuleInfo为本类中的一个方法(见下),即当碰到<quasar_module><module_info>节点时 *调用addModuleInfo方法,6表示该方法用六个参数, */ digester.addCallMethod("quasar_module/module_info", "addModuleInfo", 6); //逐个设置参数,第一个参数的索引为0 digester.addCallParam("quasar_module/module_info/name", 0); digester.addCallParam("quasar_module/module_info/description", 1); digester.addCallParam("quasar_module/module_info/version", 2); digester.addCallParam("quasar_module/module_info/author", 3); digester.addCallParam("quasar_module/module_info/mail", 4); digester.addCallParam("quasar_module/module_info/update_time", 5); // This method starts the parsing of the document. digester.parse(this.configFile); }//end run() /** * 添加模块信息。 * <p> * 本方法仅将XML文件中的内容简单输出,实际应用中可以将获得的信息进行进一步的处理。 * * @param name 名字 * @param description 描述 * @param version 版本 * @param author 作者 * @param mail EMAIL * @param updateTime 更新时间 */ public void addModuleInfo(final String name, final String description, final String version, final String author, final String mail, final String updateTime){ //output System.out.println("name=" + name + ",description=" + description + ",version=" + version + ",author=" + author + ",mail=" + mail + ",updateTime=" +updateTime); }//end addModuleInfo() /** * 添加Action映射。 * <p> * 本方法仅简单输出了传入的ActionMapping的信息,在具体应用中可将其加入系统Action映射集合中。 * @param actionMapping Action映射 */ public void addActionMapping(final ActionMapping actionMapping){ System.out.println(actionMapping); } public static void main(String[] args){ SampleDigester sd = new SampleDigester(); sd.setConfigFile("module.xml"); try{ sd.run(); sd = null; }catch(Exception e){ e.printStackTrace(); } //__________________________________________ //演示另一种解析方法 Digester digester = new Digester(); digester.setValidating( false ); //生 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于使用Digester解析XML文档示例 - 编程入门网的所有评论