实体对象转化xml

将实体对象User转换成Xml格式。

实体类User

package com.example.webservice.demo.service.server;


import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

/**
 * @author LiHaitao
 * @description User:
 * @date 2020/1/6 17:51
 **/

@XmlRootElement(name = "user")
@XmlType(propOrder = {
    
     "name", "age" }) // 定义xml节点的顺序,属性必须在这
public class User {
    
    

    public User(){
    
    
        
    }
    public User(String name, String age) {
    
    
        this.name = name;
        this.age = age;
    }
    private String name;
    private String age;

    @XmlElement(name = "name")
    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }
    @XmlElement(name = "age")
    public String getAge() {
    
    
        return age;
    }

    public void setAge(String age) {
    
    
        this.age = age;
    }
}

工具类

package com.example.webservice.demo.service.server;

import lombok.extern.slf4j.Slf4j;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import java.io.StringWriter;

/**
* @Description:
* @Author:         Lihaitao
* @Date:       2020/1/7 17:22
* @UpdateUser:
* @UpdateRemark:
*/
@Slf4j
public class JaxResultUtil {
    
    

    private static JAXBContext context = null;

    private static Marshaller marshaller = null;

    static {
    
    
        try {
    
    
            context = JAXBContext.newInstance(User.class);
            marshaller = context.createMarshaller();
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
            marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
        } catch (JAXBException e) {
    
    
            log.error("JaxResultUtil init exception", e);
        }
    }

    public static <T> String objToXmlString(T obj) throws JAXBException {
    
    
        StringWriter writer = new StringWriter();
        marshaller.marshal(obj, writer);
        return writer.toString();
    }


}

使用

 User lihaitao =new User("lihaitao","18");
 System.out.println(JaxResultUtil.objToXmlString(lihaitao));

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_38019299/article/details/103880083