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獲取封裝的對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM