step-by-step foy Castor (一)

下载castor
http://www.castor.org/

建立工程:

导入包:
castor-1.1M3-xml.jar         commons-logging.jar             xerces-J_1.4.0.jar

 程序:
Marshaller:
        Log log = LogFactory.getLog(TestMain.class);
        List<Course> list = new ArrayList<Course>();
        Course course1 = new Course();
        course1.setId(new Integer(1));
        course1.setName("math");
        list.add(course1);
        Course course2 = new Course();
        course2.setId(new Integer(2));
        course2.setName("english");
        list.add(course2);
        Course course3 = new Course();
        course3.setId(new Integer(3));
        course3.setName("chinese");
        list.add(course3);
        Person person = new Person("胡鹏是个大坏蛋");
        person.setDateOfBirth(new Date(1986,1,5));
        person.setList(list);
        Writer writer=null;
        try {
            writer = new FileWriter("test.xml");
        } catch (IOException e) {
            log.error(e);
            try {
                writer.close();
            } catch (IOException e1) {
                log.error(e1);
            }
        }
       
        try {
            Marshaller.marshal(person, writer);
        } catch (MarshalException e) {
            log.error(e);
        } catch (ValidationException e) {
            log.error(e);
        }
       
        try {
            writer.close();
        } catch (IOException e) {
            log.error(e);
        }
        log.info(new String("success"));

unMarshall:
        Log log = LogFactory.getLog("unMarshalling");
        Reader reader=null;
        Person person=null;
        try {
             reader = new BufferedReader(new FileReader("test.xml"));

             person = (Person)Unmarshaller.unmarshal(Person.class,reader);
 
        } catch (FileNotFoundException e) {
            log.error(e.toString());
        }catch (MarshalException e) {
            log.error(e.toString());
        } catch (ValidationException e) {
            log.error(e.toString());
        }finally{
            try {
                reader.close();
            } catch (IOException e) {
                log.error(e.toString());
            }
        }
       
        System.out.print(person.getName()+"\n");
        Iterator<Course> courses = person.getList().listIterator();
        Course course = null;
        while(courses.hasNext()){
            course = courses.next();
            System.out.print(course.getName()+"  ");
        }
        System.out.println("\n\n\n\n===============");

你可能感兴趣的:(xml,J#)