Java中动态生成XML最常用且推荐的方式是JAXB,需添加@XmlRootElement和@XmlElement注解、提供无参构造器及getter/setter,再通过Marshaller序列化;JDK 11+需单独引入Jakarta XML Bind依赖。

Java中把一个类的所有字段动态生成XML,最常用且推荐的方式是使用JAXB(Java Architecture for XML Binding),它原生支持注解驱动的XML序列化,无需手动拼接字符串,安全、简洁、可维护。
用JAXB自动转XML(推荐)
JAXB能根据类结构和字段自动映射为XML元素,只需几行代码就能完成序列化。
- 确保类是POJO:字段有getter/setter(或public),无参构造器必须存在
- 添加@XmlRootElement注解到类上,表示该类可作为XML根元素
- 用@XmlElement标注需要导出的字段(可选,默认public字段也会被处理)
- 调用Marshaller将对象写入XML字符串或文件
示例:
@XmlRootElement
public class User {
private String name;
private int age;
private String email;
// 必须有无参构造器
public User() {}
// getter/setter 省略...
}登录后复制
序列化代码:
立即学习“Java免费学习笔记(深入)”;
try {
User user = new User();
user.setName("张三");
user.setAge(28);
user.setEmail("zhangsan@example.com");
JAXBContext context = JAXBContext.newInstance(User.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); // 美化输出
StringWriter writer = new StringWriter();
marshaller.marshal(user, writer);
System.out.println(writer.toString());
} catch (JAXBException e) {
e.printStackTrace();
}登录后复制
输出效果:
标签: java app access ai win red
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~