将实体对象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;@XmlRootElement(name = "user")
@XmlType(propOrder = { "name", "age" })
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;
@Slf4j
public class JaxResultUtil {private static JAXBContext context &#61; null;private static Marshaller marshaller &#61; null;static {try {context &#61; JAXBContext.newInstance(User.class);marshaller &#61; 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 &#61; new StringWriter();marshaller.marshal(obj, writer);return writer.toString();}}
使用
User lihaitao &#61;new User("lihaitao","18");System.out.println(JaxResultUtil.objToXmlString(lihaitao));
![在这里插入图片描述](https://img.php1.cn/3cd4a/1eebe/cd5/5b97d3b808d031e2.webp)