java上传xml文件

1.增加工具类

/**
 * OffLineUtil.java
*/

package net.tfedu.problem.util;

import com.thoughtworks.xstream.XStream;
import net.tfedu.problem.dto.RootDto;
import net.tfedu.problem.dto.ScreenShotDtoAndAnswer;
import net.tfedu.problem.dto.ScreenshotAnswerDto;
import net.tfedu.problem.util.xstream.DateConverter;

/**
 * TODO(这里用一句话描述这个类的作用)
 * <p>
 * TODO(这里描述这个类补充说明 – 可选)
 *
 * @author   houpengwei(1379902378@qq.com)
 * @Date     2019年05月06日      
 */
public class OffLineUtil {

    /**
     * 
     * TODO 正式数据上传成功以后在删除,就是为了测试书写的方法
     * <p>
     * TODO(这里描述这个方法详情– 可选)
     *
     * @param xStream TODO(这里描述每个参数,如果有返回值描述返回值,如果有异常描述异常)
     */
    public static void xStreamUploadAliasEntity(XStream xStream) {
        xStream.registerConverter(new DateConverter());
        xStream.alias("root", RootDto.class);
        xStream.alias("screenshot", ScreenShotDtoAndAnswer.class);
        xStream.alias("screenshotAnswer", ScreenshotAnswerDto.class);
    }


}

2.对应的xml中的标签增加对应的实体类

1)root对应的RootDto实体类
package net.tfedu.problem.dto;

import lombok.Data;

import java.util.List;

@Data
public class RootDto {
    private List<ScreenShotDtoAndAnswer> screenshotList;
}
 2)screenshot对应的实体类(因为他这个是一个集合中又包含集合,ScreenshotDto是他本身的实体,只不过又封装了一个集合对象在实体里面
package net.tfedu.problem.dto;

import lombok.Data;

import java.util.List;

@Data
public class ScreenShotDtoAndAnswer extends ScreenshotDto{
   private List<ScreenshotAnswerDto> screenshotAnswerList;
}
3)screenshotAnswer对应的实体类
/**
 * ScreenshotAnswerDto.java
 * net.tfedu.problem.dto
*/
package net.tfedu.problem.dto;

import java.util.Date;

import com.we.core.db.entity.BaseEntity;
import lombok.Data;
import java.io.Serializable;

/**
 * 截图做题答案表Dto
 *
 * @author houpengwei
 * @Date 2019-05-06
 */
@Data
public class ScreenshotAnswerDto extends BaseEntity {

    /**
     * 匹配id
     */
    private long id;
    /**
     * 截图做题Id
     */
    private long screenshotId;
    /**
     * 学生用户id
     */
    private long studentId;
    /**
     * 该题学生回答
     */
    private String answer;
    /**
     * 学生回答是否正确(默认为0 ,1正确2错误3半对半错)
     */
    private int state;
    /**
     * 学生上传附件路径及文件名
     */
    private String filePath;
    /**
     * 老师评语
     */
    private String remark;
    /**
     * 提交时间
     */
    private Date submitTime;
    /**
     * 0单选1文本 2数码笔3图片
     */
    private int answerType;
    /**
     * 用户答题用时 默认秒
     */
    private int useTime;
    /**
     * 错误类型id
     */
    private long errorTypeId;
    /**
     * 知识点
     */
    private String navigationCode;
}

3.获取上传的xml

 XStream xStream = new XStream(new DomDriver());

 OffLineUtil.xStreamUploadAliasEntity(xStream);

 RootDto rootDto = (RootDto) xStream.fromXML(problemXml);

4.使用rootDto.get获取封装的对象

 

转载于:https://www.cnblogs.com/houpengwei/p/10983359.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值