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;
}

解决方案 »

  1.   

    把传入的XML文件转换为UTF-8格式再返回 ..
      

  2.   

    将XML文件的内容转换成TrainingCourses 对象.
      

  3.   

    http://commons.apache.org/betwixt/apidocs/org/apache/commons/betwixt/XMLIntrospector.html API自己看。
      

  4.   

    Java code
    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 中 额- -只能看懂这么多了
      

  5.   

    确实是应该自己对着API看, 你现在要大家帮你看, 看完也只是我们个人的见解,肯定会有所差异的, LZ自己体会下!
      

  6.   


    // 创建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对象的方式,楼主可以学习学习
      

  7.   

    看API了。你不看API别人懂了你也是不懂。