博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java上传xml文件
阅读量:4523 次
发布时间:2019-06-08

本文共 2627 字,大约阅读时间需要 8 分钟。

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(这里用一句话描述这个类的作用) * 

* TODO(这里描述这个类补充说明 – 可选) * * @author houpengwei(1379902378@qq.com) * @Date 2019年05月06日 */public class OffLineUtil { /** * * TODO 正式数据上传成功以后在删除,就是为了测试书写的方法 *

* 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;@Datapublic class RootDto {    private List
screenshotList;}

 2)screenshot对应的实体类(因为他这个是一个集合中又包含集合,ScreenshotDto是他本身的实体,只不过又封装了一个集合对象在实体里面

package net.tfedu.problem.dto;import lombok.Data;import java.util.List;@Datapublic class ScreenShotDtoAndAnswer extends ScreenshotDto{   private List
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 */@Datapublic 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

你可能感兴趣的文章
正则表达式之 数据验证 与 文本替换
查看>>
php小程序-文章发布系统
查看>>
从“智猪博弈”看所谓“大国责任”
查看>>
Day3:Spring-JDBC、事务管理
查看>>
模块的四种形式
查看>>
Jmeter属性和变量
查看>>
java并发编程:并发容器之CopyOnWriteArrayList(转)
查看>>
python基础——面向对象进阶下
查看>>
Linux vi 命令详解
查看>>
本地如何搭建IPv6环境测试你的APP
查看>>
C++ NULL与nullptr的区别
查看>>
vim配置成c++IDE
查看>>
利用node搭建本地服务器
查看>>
python pickle命令执行与marshal 任意代码执行
查看>>
Elasticsearch 2.3 java api
查看>>
golang写入csv
查看>>
基础2
查看>>
java基础篇---网络编程(UDP程序设计)
查看>>
Kafka Producer相关代码分析【转】
查看>>
LeetCode 121. Best Time to Buy and Sell Stock
查看>>