📄 simpledigester--rosonsandy.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://rosonsandy.blogdriver.com/rosonsandy/1044354.html -->
<HTML><HEAD><TITLE>simpleDigester--rosonsandy</TITLE>
<META http-equiv=Content-Type content="text/html; charset=GBK">
<META http-equiv=Pragma content=no-cache>
<META http-equiv=Cache-Control content=no-cache>
<META http-equiv=Expires content=0>
<META
content="tomcat源代码日志simpleDigesterjdom 博客 博客动力 blog blogdriver blogger 中国"
name=description>
<META
content="rosonsandy tomcat源代码日志simpleDigesterjdom 博客 博客动力 blog blogdriver blogger 中国"
name=keywords><LINK href="simpleDigester--rosonsandy.files/diary.css"
type=text/css rel=stylesheet>
<SCRIPT language=JavaScript
src="simpleDigester--rosonsandy.files/UBB.js"></SCRIPT>
<SCRIPT src="simpleDigester--rosonsandy.files/blog.js"
type=text/javascript></SCRIPT>
<META content="MSHTML 6.00.2900.3199" name=GENERATOR></HEAD>
<BODY>
<DIV id=container>
<DIV id=header>
<H1 class=title><A
href="http://rosonsandy.blogdriver.com/rosonsandy/index.html">rosonsandy</A></H1></DIV>
<DIV id=category><A title=上一篇
href="http://rosonsandy.blogdriver.com/rosonsandy/1044281.html">tomcat源代码日志</A>-
-| <A href="http://rosonsandy.blogdriver.com/rosonsandy/index.html">回首页</A> | <A
href="http://rosonsandy.blogdriver.com/rosonsandy/catalog_2005.html">2005年索引</A>
| - -<A title=下一篇
href="http://rosonsandy.blogdriver.com/rosonsandy/1045976.html">jdom</A></DIV>
<DIV class=entity>
<H2 class=diaryTitle>simpleDigester- -</H2>
<P>
<P>There are four jars must include in the
classpath:<BR>1\commons-beanutils.jar, <BR>2\commons-collections.jar
<BR>3\commons-digester.jar <BR>4\commons-logging-api.jar <BR>
<P>有如下几个文件: <BR><A
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#a">Academy.java</A>
<BR><A
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#b">Cource.java</A>
<BR><A
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#c">DigestAcademy.java</A>
<BR><A
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#d">Student.java</A>
<BR><A
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#e">Teacher.java</A>
<BR><A
href="http://rosonsandy.blogdriver.com/rosonsandy/1044354.html#f">academy.xml</A>
<BR></P>
<P><A name=#a></A></P>
<DIV
style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; FONT: 11px/110% Andale Mono, Courier New, Courier, monospace; OVERFLOW: visible; WIDTH: 550px; PADDING-TOP: 5px; WHITE-SPACE: pre; BACKGROUND-COLOR: #efefef"><PRE style="COLOR: #006600; FONT-FAMILY: Andale Mono, Courier New, Courier, monospace"><B>Academy.java</B>
/*
* Created on 2005-4-3
* @Author roson
*/
import java.io.File;
import java.util.Vector;
import org.apache.commons.digester.Digester;
public class Academy {
private Vector<STUDENT /> students;
private Vector<TEACHER /> teachers;
private String name;
private Academy academy;
public Academy()
{
students=new Vector<Student>();
teachers=new Vector<Teacher>();
System.out.println("after digester");
}
public void setAcademy(Academy academy)
{
this.academy=academy;
}
public void addStudent(Student student)
{
students.addElement(student);
}
public void addTeacher(Teacher teacher)
{
teachers.addElement(teacher);
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Vector getStudents()
{
return students;
}
public void setStudents(Vector<Student> students)
{
this.students = students;
}
public Vector getTeachers()
{
return teachers;
}
public void setTeachers(Vector<Teacher> teachers)
{
this.teachers = teachers;
}
public String toString()
{
StringBuffer buf=new StringBuffer(60);
buf.append("Academy name>>"+this.getName());
Vector stud=this.getStudents();
Vector teach=this.getTeachers();
buf.append("\n\n**STUDENTS**");
for(int i=0;i<stud.size();i++)
{
buf.append(stud.get(i));
}
buf.append("\n\n**TEACHER**");
for(int i=0;i<teach.size();i++)
{
buf.append(teach.get(i));
}
return buf.toString();
}
}
</PRE></DIV><A name=#b></A>
<P></P>
<DIV
style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; FONT: 11px/110% Andale Mono, Courier New, Courier, monospace; OVERFLOW: visible; WIDTH: 550px; PADDING-TOP: 5px; WHITE-SPACE: pre; BACKGROUND-COLOR: #efefef"><PRE style="COLOR: #006600; FONT-FAMILY: Andale Mono, Courier New, Courier, monospace"><B>Cource.java</B>
/*
* Created on 2005-4-3
* @Author roson
*/
public class Course {
private String id;
private String name;
public Course(){}
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String toString()
{
StringBuffer buf=new StringBuffer(60);
buf.append("\n\tCourseId>>>"+this.getId()+"\t");
buf.append("CourseName>>>"+this.getName());
return buf.toString();
}
}
</PRE></DIV>
<P><A name=#c></A></P>
<DIV
style="PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 5px; FONT: 11px/110% Andale Mono, Courier New, Courier, monospace; OVERFLOW: visible; WIDTH: 550px; PADDING-TOP: 5px; WHITE-SPACE: pre; BACKGROUND-COLOR: #efefef"><PRE style="COLOR: #006600; FONT-FAMILY: Andale Mono, Courier New, Courier, monospace"><B>DigestAcademy.java</B>
/*
* Created on 2005-4-3
* @Author roson
*/
import org.apache.commons.digester.Digester;
import java.io.*;
import java.util.Vector;
public class DigestAcademy {
public static void main(String[] args) throws Exception {
DigestAcademy d=new DigestAcademy();
d.digest();
}
public void digest() throws Exception
{
Digester digester=new Digester();
digester.setValidating( false );
digester.addObjectCreate("academy",Academy.class);
digester.addSetProperties("academy");
digester.addObjectCreate("academy/student",Student.class);
digester.addSetProperties("academy/student");
digester.addObjectCreate("academy/student/course",Course.class);
digester.addBeanPropertySetter("academy/student/course/id","id");
digester.addBeanPropertySetter("academy/student/course/name","name");
digester.addSetNext("academy/student/course","addCourse");
digester.addSetNext("academy/student","addStudent");
digester.addObjectCreate("academy/teacher",Teacher.class);
digester.addSetProperties("academy/teacher");
digester.addCallMethod("academy/teacher/certification","addCertification",1);
digester.addCallParam("academy/teacher/certification",0);
digester.addSetNext("academy/teacher","addTeacher");
//there are three ways to load xml file
//(1) Academy a=(Academy)digester.parse(this.getClass().getClassLoader().getResourceAsStream("file://D:/mystudio/eclipse/digester/academy.xml"));
try
{
//(2)
File file=new File("academy.xml");
Academy a=(Academy)digester.parse(file);
Vector students=a.getStudents();
for(int i=0;i<students.size();i++)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -