/** * * @param args * * @author William * @throws SAXException * @throws IOException * @date Aug 8, 2013 */ public static void main(String[] args) throws IOException, SAXException { Digester digester = new Digester(); digester.setNamespaceAware(false); digester.setValidating(false); digester.addObjectCreate("school", com.test.School.class); digester.addSetProperties("school"); digester.addObjectCreate("school/teacher", com.test.Teacher.class); digester.addSetProperties("school/teacher"); digester.addSetNext("school/teacher", "addTeacher"); digester.addObjectCreate("school/teacher/students/student", com.test.Student.class); digester.addSetProperties("school/teacher/students/student"); digester.addSetNestedProperties("school/teacher/students/student"); digester.addSetNext("school/teacher/students/student/", "addStudent"); School s = (School) digester.parse(new File("D:\\Indigo\\SFA workspace\\Test\\src\\com\\test\\NewFile.xml")); //System.out.println(s); System.out.println(s.teachers.size()); for(int i=0;i<s.teachers.size();i++){ Teacher st=s.getTeachers().get(i); for(int j=0;j<st.students.size();j++){ Student std=st.students.get(j); System.out.println(st.getName()+","+std.getAge()+","+std.getHobby()+","+std.getId()); } //System.out.println(st.students.size()); } // /*通过author找title // * @String author // */ // public void getTitle(String author) // { // Book b=null; // for(int i=0;i<books.size();i++) // { // b=(Book)books.elementAt(i); // if(b.getAuthor().equals(author)) // { // System.out.println(b.getTitle()); // } // // } // } // // /*通过Magazine Name,page找headline // * @String MagaName,String page // */ // public void getheadline(String MagaName,String page) // { // Magazine m=null; // for (int i=0;i<magazines.size();i++) // { // // m=(Magazine)magazines.elementAt(i); // if(MagaName.equals(m.getName())) // m.getHeadline(page); // // } // } } }
<?xml version="1.0" encoding="UTF-8"?> <school name="school number1" location="SZ"> <teacher id="001" name="zhangshan"> <students> <student name="stu1"> <hobby>basketball</hobby> <id>111</id> <age>23</age> </student> <student name="stu2"> <hobby>football</hobby> <id>222</id> <age>24</age> </student> <student name="ggg"> <hobby>gggg</hobby> <id>333</id> <age>21</age> </student> </students> </teacher> <teacher id="002" name="lisi"> <students> <student name="_stu1"> <hobby>tennis</hobby> <id>dddddddddddddddddd</id> <age>25</age> </student> <student name="_stu2"> <hobby>badminton</hobby> <id>555</id> <age>26</age> </student> </students> </teacher> </school>
/** * * * @author William * @date Aug 8, 2013 * @version 1.0 */ public class School { public List<Teacher> getTeachers() { return teachers; } public void setTeachers(List<Teacher> teachers) { this.teachers = teachers; } public String name; public String location; List<Teacher> teachers=new ArrayList<Teacher>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public String getLocation() { return location; } public void setLocation(String location) { this.location = location; } public void addTeacher(Teacher t){ teachers.add(t); } // @Override // public String toString() { // String s="School [name=" + name + ", location=" + location + "]"; // s+="\nhave "+teachers.size()+" teachers\n"; // for(Teacher t:teachers){ // s+=t.toString(); // s+="\n\t"; // for(Student ss:t.students){ // s+=ss; // s+="\n\t"; // } // s+="\n"; // } // return s; // } }
/** * * * @author William * @date Aug 8, 2013 * @version 1.0 */ public class Student { private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } private String name; private String hobby; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Student [name=" + name + ", hobby=" + hobby + ", age=" + age + "]"; } }
/** * * * @author William * @date Aug 8, 2013 * @version 1.0 */ public class Teacher { private int id; private String name; public List<Student> students=new ArrayList<Student>(); public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public void addStudent(Student s){ students.add(s); } @Override public String toString() { return "Teacher [id=" + id + ", name=" + name + "]"; } }
commons-digester-1.6.jar
commons-collections-3.1.jar
commons-logging-1.0.4.jar
commons-beanutils-1.7.0.jar
http://blog.csdn.net/possibleonline/article/details/6956133
相关推荐
Digester的XML规则文件配置: 在Digester中提供了一个包:org.apache.commons.digester.xmlrules。这个包中的类可以从一个XML文档中读取并返回一个指定的配置信息。XML文档配置文件必须使用DTD,这是xmlrules包的一...
Digester java解析xml jar包
digester解析xml的问题.pdf
Digester读取xml教程.rar
不错的解析XML的类,主要利用org.apache.commons.digester.Digester;
Digester解析XML,也是找到的别人的。
Digester读取XML学习,Digester读取XML学习
使用Apache的Digester来解析XML文档,代码,有解析!
博文链接:https://aga.iteye.com/blog/218587
xml解析commons-digester的demo
使用STRUTS的解析XML技术digester来解析多层嵌套的XML文件,简单易懂
Digester解析XML文件
digester组件简化了xml文件处理操作
使用digester配置rule.xml规则来解析自定义的xml文件
Apache xml转换java对象 Digester
使用Digester解析XML文档示例
digester是解析xml的一个架包,有他的方法
Digester解析XML问题.pdf
Digester不是一个XML Parser,它只是对SAX更高层次上的一个封装使用Digester,将XML映射成javaBean. 我们无须了解SAX和DOM的解析过程,只要给Digester添加一些解析规则,就能对一个xml文件进行解析。Digester使用...
digeter解析xml所必须的jar包,包括commons-logging-1.2.jar、commons-digester-2.1.jar、commons-beanutils-1.9.3.jar