JAVA xml格式转为java对象

 String msg = "1699255949";


java对象:
注解很重要

package io.renren.modules.wechatWork.service;

import lombok.Data;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

@Data
@XmlRootElement(name="xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class VxWorkCallbackDto {
    private String ToUserName;
    private String FromUserName;
    private String CreateTime;
    private String MsgType;
    private String Event;
    private String ChangeType;
    private String LinkId;
    private String State;
}

方法:

public static VxWorkCallbackDto xml2Java(String xmlStr) {
        //
        VxWorkCallbackDto vxWorkCallbackDto = new VxWorkCallbackDto();
        JAXBContext jaxbContext = null;
        try {
            jaxbContext = JAXBContext.newInstance(VxWorkCallbackDto.class);
            Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
            vxWorkCallbackDto = (VxWorkCallbackDto) unmarshaller.unmarshal(new StringReader(xmlStr));
        } catch (JAXBException e) {
            log.error("xml转换对象出错:{}", e.getMessage());
            e.printStackTrace();
        }
        return vxWorkCallbackDto;
    }

最后测试:
 

 public static void main(String[] args) {
        String msg = "1699255949";


        //xml转java对象
        VxWorkCallbackDto dto = xml2Java(msg);
        System.out.println(JSONObject.toJSONString(dto));
    }

你可能感兴趣的:(java,xml,前端)