Digester学习

// 创建一个Digester实例
Digester d = new Digester();
// 创建AddressBook实例,并将其压入栈顶。
AddressBook book = new AddressBook();
//把根节点对象压入栈中
d.push(book);
//把address-book节点属性默认载入到相应的set方法,如<book a="1">,book对象有一个setA方法
d.addSetProperties("address-book");
// 当遇到子节点<person>时,创建类Person的一个实例,并将其压入栈顶
d.addObjectCreate("address-book/person", Person.class);
// 当遇到<person>的子元素<name>时,调用栈顶对象(Person实例)的setName方法。
// 此处addCallMethod方法的第一参数是规则,第二个参数是方法的名字,第三个是参数的数量(为0时,表示只有一个参数,且参数的值是元素的内容)
d.addCallMethod("address-book/person/name", "setName", 0);
 // 调用第二栈顶对象(AddressBook实例)的addPerson方法,以栈对象(Person实例)的对象为参数,相当于根节点记录下自己的子节点
d.addSetNext("address-book/person", "addPerson");    
d.parse(srcfile);


你可能感兴趣的:(学习)