将 Java 对象自动转换为 XML 字符串

1.创建Java类并使用JAXB注解

java 复制代码
import javax.xml.bind.annotation.XmlRootElement;  
import javax.xml.bind.annotation.XmlElement;  

@XmlRootElement  
public class Customer {  
    private String name;  
    private int age;  

    // JAXB要求有一个无参构造函数  
    public Customer() {  
    }  

    // 构造函数、getter和setter略  

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

    public void setName(String name) {  
        this.name = name;  
    }  

    @XmlElement  
    public int getAge() {  
        return age;  
    }  

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

2.将Java对象转换为XML字符串

java 复制代码
import javax.xml.bind.JAXBContext;  
import javax.xml.bind.Marshaller;  
import java.io.StringWriter;  

public class JAXBExample {  
    public static void main(String[] args) throws Exception {  
        Customer customer = new Customer();  
        customer.setName("John Doe");  
        customer.setAge(30);  

        JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);  

        Marshaller marshaller = jaxbContext.createMarshaller();  
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);  

        StringWriter writer = new StringWriter();  
        marshaller.marshal(customer, writer);  

        String xmlString = writer.toString();  
        System.out.println(xmlString);  
    }  
}
相关推荐
superman超哥几秒前
仓颉借用检查器工作原理深度解析
c语言·开发语言·c++·python·仓颉
悟能不能悟15 分钟前
java map判断是否有key,get(key)+x,否则put(key,x)的新写法
java·开发语言
webbodys30 分钟前
Python文件操作与异常处理:构建健壮的应用程序
java·服务器·python
石工记32 分钟前
对称加密 vs 非对称加密图解详解
java·网络安全
blurblurblun35 分钟前
Go语言特性
开发语言·后端·golang
Y.O.U..37 分钟前
Go 语言 IO 基石:Reader 与 Writer 接口的 “最小设计” 与实战落地
开发语言·后端·golang
不急不躁1231 小时前
Android16 给应用默认获取权限
android·java
CoderCodingNo1 小时前
【GESP】C++五级真题(数论考点) luogu-B3871 [GESP202309 五级] 因数分解
开发语言·c++
C雨后彩虹1 小时前
5G网络建设
java·数据结构·算法·华为·面试
froginwe111 小时前
NumPy 字符串函数
开发语言