public TrainingCourses pxfilesToTrainingCoursesBean(String xmlFilePath) throws Exception{
XMLIntrospector introspector = new XMLIntrospector();
introspector.register(TrainingCourses.class, new InputSource(new FileReader(getFilePath("TrainingCourses.betwixt"))));
introspector.register(TrainingCourse.class, new InputSource(new FileReader(getFilePath("TrainingCourse.betwixt"))));
BeanReader beanReader = new BeanReader();
introspector.getConfiguration().setAttributesForPrimitives(false);
beanReader.setXMLIntrospector(introspector);
beanReader.registerBeanClass("NewDataSet/TrainingCourses", TrainingCourses.class);
TrainingCourses trainingCourses = (TrainingCourses) beanReader.parse(new InputStreamReader(new FileInputStream(xmlFilePath),"utf-8"));
return trainingCourses;
}
public TrainingCourses pxfilesToTrainingCoursesBean(String xmlFilePath) throws Exception{
//创建一个xml自省的类
XMLIntrospector introspector = new XMLIntrospector();
//给TrainingCourses类 写入TrainingCourses.betwixt 文件下的东西
introspector.register(TrainingCourses.class, new InputSource(new FileReader(getFilePath("TrainingCourses.betwixt"))));
introspector.register(TrainingCourse.class, new InputSource(new FileReader(getFilePath("TrainingCourse.betwixt"))));
//创建一个读取bean的对象
BeanReader beanReader = new BeanReader();
//设置是否将属性为原始类型使用 这里是false应该就是和后面的强转成TrainingCourses 有关
introspector.getConfiguration().setAttributesForPrimitives(false);
//放入xml
beanReader.setXMLIntrospector(introspector);
//要转换的类
beanReader.registerBeanClass("NewDataSet/TrainingCourses", TrainingCourses.class);
//将对象强制转换成TrainingCourses
TrainingCourses trainingCourses = (TrainingCourses) beanReader.parse(new InputStreamReader(new FileInputStream(xmlFilePath),"utf-8"));
return trainingCourses;
}
只能看个大概 好像是通过XMLIntrospector 设置一些数据信息, 然后通过BeanReader 去设置要转换的xml信息和转换成的类。。 然后通过转换方法 将文件写入到trainingCourses 中 额- -只能看懂这么多了
// 创建xml转换器
XMLIntrospector introspector = new XMLIntrospector();
//为这两个类设定对象输入流
introspector.register(TrainingCourses.class, new InputSource(new FileReader(getFilePath("TrainingCourses.betwixt"))));
introspector.register(TrainingCourse.class, new InputSource(new FileReader(getFilePath("TrainingCourse.betwixt"))));
//创建对象读取器
BeanReader beanReader = new BeanReader();
//设置转换器的一个属性(具体什么看API)
introspector.getConfiguration().setAttributesForPrimitives(false);
//设置读取器要读取的对象源
beanReader.setXMLIntrospector(introspector);
//注册要转换对象的类,并指定根节点名称
beanReader.registerBeanClass("NewDataSet/TrainingCourses", TrainingCourses.class);
//将XML解析Java Object
TrainingCourses trainingCourses = (TrainingCourses) beanReader.parse(new InputStreamReader(new FileInputStream(xmlFilePath),"utf-8"));这是一种从XML文件中获得JAVA对象的方式,楼主可以学习学习