Topic: 初次写点东西,关于使用Common Digester处理xml文件 |
Print this page |
1.初次写点东西,关于使用Common Digester处理xml文件 | Copy to clipboard |
Posted by: sailorhero Posted on: 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 |
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 |