将 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);  
    }  
}
相关推荐
Huangxy__2 分钟前
java相机手搓(后续是文件保存以及接入大模型)
java·开发语言·数码相机
刚子编程6 分钟前
C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生
开发语言·c#·事务处理·trycatch
lsx20240611 分钟前
jEasyUI 自定义对话框
开发语言
陶然同学16 分钟前
【Python】文件操作
开发语言·python
来自远方的老作者23 分钟前
第10章 面向对象-10.3 封装
开发语言·python·私有属性·私有方法·封装
j_xxx404_26 分钟前
用系统调用从零封装一个C语言标准I/O库 | 附源码
linux·c语言·开发语言·后端
并不喜欢吃鱼28 分钟前
从零开始C++----七.继承相关模型,解析多继承与菱形继承问题(下篇)
开发语言·c++
摇滚侠32 分钟前
Java Map 类型的数据可以存储到 Redis Hash 类型中
java·redis·哈希算法
devil-J36 分钟前
vue3+three.js中国3D地图
开发语言·javascript·3d
Xiaoᴗo.39 分钟前
C语言2.0---------
c语言·开发语言·数据结构