package digest;
import java.util.Iterator;
import java.util.Vector;
import org.apache.commons.digester.Digester;
import com.alibaba.common.lang.StringUtil;
public class DigesterStudy {
private Vector<Student> students;
public DigesterStudy() {
students = new Vector<Student>(5);
}
public void digest() {
// 创建实例
Digester digester = new Digester();
// 将初始对象压入digester的stack
digester.push(this);
// 指明匹配模式和要创建的类
digester.addObjectCreate("students/student", Student.class);
// 设置对象属性
// 1:
// digester.addBeanPropertySetter("students/student/name");
// digester.addBeanPropertySetter("students/student/course");
// 2:
digester.addCallMethod("students/student/name", "setName", 0);
digester.addCallMethod("students/student/course", "setCourse", 0);
// 当移动到下一个标签中时的动作
digester.addSetNext("students/student", "addStudent");
try {
// 解析
DigesterStudy ds = (DigesterStudy) digester.parse(getClass()
.getClassLoader().getResourceAsStream("test.xml"));
for (Iterator i = ds.getStudents().iterator(); i.hasNext();) {
Student s = (Student) i.next();
System.out.println(s.getName() + " " + s.getCourse());
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void addStudent(Student student) {
students.add(student);
}
public String toString() {
return students.toString();
}
public Vector getStudents() {
return students;
}
public static void main(String[] args) {
String key = "0011";
int i =Integer.parseInt(key) + 1;
System.out.println(i);
int length = key.length();
System.out.println(StringUtil.alignRight(""+i,
length, "0"));
}
}