實體對象轉化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));

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章