将 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);  
    }  
}
相关推荐
MonkeyKing_sunyuhua3 分钟前
本地将镜像打包推送到阿里云的镜像服务器
java·服务器·阿里云
飞Link6 分钟前
Kafka~本地Python Kafka发送数据,服务端Kafka消费不到
java·分布式·kafka
喵喵蒻葉睦8 分钟前
力扣 hot100 滑动窗口最大值 单调双端队列 java 简单题解
java·数据结构·算法·leetcode·双端队列·滑动窗口·队列
2401_8319207415 分钟前
C++与Qt图形开发
开发语言·c++·算法
重庆兔巴哥17 分钟前
如果Java环境变量配置不成功,应该怎么办?
java·开发语言
良木生香23 分钟前
【C++初阶】:C++入门相关知识(3):引用 & inline内联函数 & nullptr相关概念
开发语言·c++
西野.xuan28 分钟前
【一篇即毕业系列】C++的volatile关键字从基础到通天。
java·jvm·c++
泯仲29 分钟前
从零起步学习MySQL 第十六章:MySQL 分库分表的考量策略
开发语言·mysql
超级大福宝34 分钟前
用买火车票的例子讲解Java反射的作用
java·开发语言·后端