digester 将xml 文件解析成java bean

详情参照百度百科和相关文档
//http://blog.csdn.net/s070403143b/article/details/1716608
//http://baike.baidu.com/view/3602595.htm

示例代码:


//详细信息
//http://blog.csdn.net/s070403143b/article/details/1716608
//http://baike.baidu.com/view/3602595.htm
// 定义要解析的 XML 的路径,并初始化工具类
Digester digester = new Digester();

// 如果碰到了 <targettest> 这个标签,应该初始化 com.test.digestertest.Target 这个 JavaBean
digester.addObjectCreate("targettest", "com.test.digestertest.Target");
//并填装相关属性
digester.addSetProperties("targettest");
// 如果碰到了 <targettest/SubTarget> 这个标签,同上初始化 com.test.digestertest.Target 这个 JavaBean
digester.addObjectCreate("targettest/SubTarget", "com.test.digestertest.SubTarget");
digester.addSetProperties("targettest/SubTarget");
// 通过调用上面已经初始化过的 JavaBean 的 addSubTarget() 方法来把多个 <targettest/SubTarget> 加到一个集合中
digester.addSetNext("targettest/SubTarget", "addSubTarget", "com.test.digestertest.SubTarget");

// 定义好了上面的解析规则后,就可以开始进行解析工作了
try {
Target t = (Target) digester.parse(DigesterTest.class.getClassLoader()
.getResourceAsStream("com/test/digestertest/target.xml"));
System.out.println("Target name:"+t.getName());
System.out.println("List<SubTarget> size():"+t.list.size());
System.out.println(t.list.get(0).name);
System.out.println(t.list.get(1).name);
System.out.println(t.list.get(2).name);
System.out.println("success");
} catch (Exception e) {
e.printStackTrace();
}


猜你喜欢

转载自swearyd7.iteye.com/blog/1732171
今日推荐