Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » 技术文章库
打印话题 寄给朋友 订阅主题 |
作者 | 初次写点东西,关于使用Common Digester处理xml文件 |
sailorhero
发贴: 70 积分: 16 |
于 2004-06-30 21:57
现在很多软件使用xml作为配置文件,但处理起来还是非常麻烦,在Jakarta Project 工程中,有一个Common Digester包可以帮助我们处理xml类型的配置文件。 除了读取xml配置文件外,这个软件也非常适合用于将xml转为JavaBean。 假定xml文件如下: <foo name="The Parent"> <bar id="123" title="The First Child"/> <bar id="456" title="The Second Child"/> </foo> 对应的JavaBean类定义如下: public class Bar { private int id; private String title; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } } public class Foo { private String name; private Vector bars = new Vector(); public void addBar(Bar bar) { bars.add(bar); } public Bar findBar(int id) { Iterator iterator = bars.iterator(); if(iterator.hasNext()){ Bar bar = (Bar)iterator.next(); if(bar.getId() == id){ return bar; } } return null; } public Iterator getBars() { return bars.iterator(); } public String getName() { return name; } public void setName(String name) { this.name = name; } } 在后面处理中,只需要简单处理,即可将xml描述的对象转换为JavaBean对象。 Digester digester = new Digester(); digester.setValidating(false); digester.addObjectCreate(foo, mypackage.Foo); digester.addSetProperties(foo); digester.addObjectCreate(foo/bar, mypackage.Bar); digester.addSetProperties(foo/bar); digester.addSetNext(foo/bar, addBar, mypackage.Bar); try { Foo foo = (Foo) digester.parse(D:/java/eclipse/workspace/Digester/src/mypackage/utils/Bar.xml); System.out.println(foo); } catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } 在SenTom网站上,有一篇详细的介绍文档。 第七期-Jakarta Commons Digester
sailorhero edited on 2004-06-30 22:00
|
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
8202 | 初次写点东西,关于使用Common Digester处理xml文件 | sailorhero | 2113 | 2004-06-30 21:57 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |