Java如何将List对象序列化为XML_Java将List对象序列化为XML实现

22次阅读

使用 JAXB 可将 java List 对象 序列化为 xml,需定义带注解的实体类如 User,并将其 封装 在根元素类 UserListWrapper 中,通过 JAXBContext 和 Marshaller 执行序列化,生成格式化的 XML 输出,适用于 JDK 8 及以下版本,JDK 11+ 需手动引入 JAXB 依赖。

Java 如何将 List 对象序列化为 XML_Java 将 List 对象序列化为 XML 实现

Java 中将 List 对象序列化为 XML,常用的方式是使用 JAXB(Java Architecture for XML Binding)。它能将 Java 对象与 XML 之间相互转换,支持集合类型如 List。下面介绍具体实现步骤和示例代码。

1. 添加实体类并配置 JAXB 注解

要序列化 List 中的对象,首先需要确保 List 中的元素类是可序列化的,并使用 JAXB 注解标记。

示例:定义一个 User 类

@XmlRootElement(name = “user”)
public class User {
  private int id;
  private String name;

  public User() {}

  public User(int id, String name) {
    this.id = id;
    this.name = name;
  }

  @XmlElement
  public int getId() { return id;}
  public void setId(int id) {this.id = id;}

  @XmlElement
  public String getName() { return name;}
  public void setName(String name) {this.name = name;}
}

2. 包装 List 并添加根元素

JAXB 不能直接序列化 List,需将其封装在一个类中作为根元素。

示例:创建 UserListWrapper 类

@XmlRootElement(name = “users”)
public class UserListWrapper {
  private List<User> userList;

  public UserListWrapper() {}

  public UserListWrapper(List<User> userList) {
    this.userList = userList;
  }

  @XmlElement(name = “user”)
  public List<User> getUserList() { return userList;}
  public void setUserList(List<User> userList) {this.userList = userList;}
}

3. 执行序列化操作

使用 JAXBContext 和 Marshaller 将对象输出为 XML字符串 或写入文件。

Java 如何将 List 对象序列化为 XML_Java 将 List 对象序列化为 XML 实现

序列猴子开放平台

具有长序列、多模态、单模型、大数据等特点的超大规模语言模型

Java 如何将 List 对象序列化为 XML_Java 将 List 对象序列化为 XML 实现 0

查看详情 Java 如何将 List 对象序列化为 XML_Java 将 List 对象序列化为 XML 实现

立即学习Java 免费学习笔记(深入)”;

示例:序列化 List 到 XML

try {
  List<User> users = new ArrayList<>();
  users.add(new User(1, “Alice”));
  users.add(new User(2, “Bob”));

  UserListWrapper wrapper = new UserListWrapper(users);

  JAXBContext context = JAXBContext.newinstance(UserListWrapper.class);
  Marshaller marshaller = context.createMarshaller();
  marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

  // 输出到控制台
  marshaller.marshal(wrapper, System.out);

  // 或写入文件
  // marshaller.marshal(wrapper, new File(“users.xml”));
} catch (JAXBException e) {
  e.printStackTrace();
}

4. 生成的 XML 示例

上述代码会输出如下格式的 XML:

<?xml version=”1.0″ encoding=”UTF-8″?>
<users>
  <user>
    <id>1</id>
    <name>Alice</name>
  </user>
  <user>
    <id>2</id>
    <name>Bob</name>
  </user>
</users>

基本上就这些。只要正确使用 JAXB 注解,把 List 包装进一个根类,就能顺利实现 Java List 对象到 XML 的序列化。注意 JDK 11 及以上版本需手动添加 JAXB 依赖。不复杂但容易忽略细节。

站长
版权声明:本站原创文章,由 站长 2025-11-05发表,共计1959字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources