Digester简单使用
来源:互联网 发布:arm linux gcc4.8下载 编辑:程序博客网 时间:2024/06/16 07:22
Digester库是用于解析XML文档。对应XML中每一个元素,Digester对应检查它是否要做事先预定义的事件。在调用Digester对象的parse()方法之前,程序员应该先定义好Digester对象执行那些动作.下面有个简单的案例:
1.xml示例
<?xml version="1.0" encoding="UTF-8"?> <employee firstName="dada" lastName="aa"> <office desc="zz1"> <address stressName="zz2"></address> </office> <office desc="zz3"> <address stressName="zz4"></address> </office> </employee>
2.xml节点对应的model
public class Employee { private String firstName; private String lastName; private List<Office> offices=new ArrayList<Office>(); public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public void addOffice(Office office){ offices.add(office); } public List<Office> getOffices(){ return offices; } public void printName(){ System.out.println("firstName is:"+firstName+" "+"lastName is:"+lastName); }}public class Office { private Address address; public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } private String desc;}public class Address { private String stressName; public String getStressName() { return stressName; } public void setStressName(String stressName) { this.stressName = stressName; }}
3.测试类
** * 用Digester类进行进行时,当遇到注册的rule时,首先从Digester中注册的rules中找出对用的Rule(如:SetPropertiesRule,ObjectCreateRule等) * 然后去调用统一的接口begin()和end()进行处理 */public class DigesterTest { public static void main(String[]args)throws Exception{ File file=new File(DigesterTest.class.getResource("/").getPath() + "employer"); Digester digester=new Digester(); digester.addObjectCreate("employee","test.model.Employee"); digester.addSetProperties("employee"); digester.addCallMethod("employee","printName"); digester.addObjectCreate("employee/office","test.model.Office"); digester.addSetProperties("employee/office"); digester.addSetNext("employee/office","addOffice"); digester.addObjectCreate("employee/office/address","test.model.Address"); digester.addSetProperties("employee/office/address"); digester.addSetNext("employee/office/address","setAddress"); Employee employee=(Employee)digester.parse(file); for(Office office:employee.getOffices()){ System.out.println(office.getDesc()); System.out.println(office.getAddress().getStressName()); } }}
4.执行结果
firstName is:dada lastName is:aazz1zz2zz3zz4
阅读全文
0 0
- Digester简单使用
- 使用Digester解析XML文件简单范例
- digester使用
- org.apache.commons.digester.Digester使用
- 使用Digester的感受
- Digester的使用
- Digester 组件使用简介
- 使用Digester解析xml
- commons-digester使用
- digester简单实用的例子
- digester
- Digester
- Digester
- 使用Digester类的api进行xml解析的简单例子
- 使用digester 解析xml配置文件
- Apache Commons Digester 使用实例
- Jakarta-Common-Digester使用笔记
- 使用Digester解析XML配置文件
- [DP] POJ-2533 Longest Ordered Subsequence
- Node.js基础入门使用学习笔记(终端操作、变量、流程)
- NodeJS express+multer实现文件上传
- Jsp中param标签的使用
- 网易人工智能事业部java实习生面经
- Digester简单使用
- 1594: [Usaco2008 Jan]猜数游戏
- 用心记录写代码的历程
- 1020. 月饼 (25)
- 洛谷 P2783 有机化学之神偶尔会做作弊
- struts2原理及创建struts工程步骤
- C语言for循环的一些内涵
- OpenWrt路由器无线中继、桥接、信号放大、访客网络的实现方案
- java中字符串转换为字符串数组