当前位置: 首页 > 知识库问答 >
问题:

xstream,如何将列表序列化为xml

葛兴发
2023-03-14

我正在使用xstream并尝试将列表序列化为XML。我需要一个输出结构

<Employees>
  <Employee></Employee>
  <Employee></Employee>
  <Employee></Employee>
</Employees>

序列化的对象类似于

 List<Employee> 
public class Employees extends ArrayList<Employee>(){}

我的问题与作为对象集合的XStream-Root类似,但我希望在不使用包装对象的情况下这样做。

共有1个答案

祁俊拔
2023-03-14

您使用列表作为根元素?您可以将类命名为别名。下面的代码生成您要查找的输出。

public static void main(String[] args) {
    List<Employee> employees = new ArrayList<Employee>();
    employees.add(new Employee());
    employees.add(new Employee());
    employees.add(new Employee());
    XStream xstream = new XStream();
    xstream.alias("Employees", List.class);
    System.out.println(xstream.toXML(employees));
}
 类似资料:
  • 我在尝试“反序列化”对象时遇到以下错误: 我需要能够使用这个XStream库序列化/反序列化对象,甚至是那些没有参数构造函数的对象。

  • 问题内容: 问题在于,每次执行main方法时,a.xml的旧内容都会丢失,并被新的内容替代。如何在不丢失先前信息的情况下将内容附加到a.xml文件? 问题答案: 样例代码

  • 问题内容: 我正在客户端和Django服务器之间发送信息,并且我想对此使用JSON。我正在发送简单的信息-字符串列表。我尝试使用,但是当我这样做时, 看来这只能用于Django对象。如何序列化简单的Python对象? 问题答案: 你可以使用纯Python执行此操作:

  • 问题内容: 如何将作为地图的属性序列化为地图的值列表?我已经能够使用吸气剂上的注释进行其他简单的转换。但是,我不确定我想做什么。 问题答案: 我们需要类似的东西,在我们的案例中,我们使用了您所评论的自定义项,这很简单: 使用它的代码:

  • 我有一个JSON字符串,它将空列表标记为而不是。因此,例如,如果我有一个没有子对象的对象,我将收到这样的字符串: 我想将其反序列化为父类,将子类正确设置为子类的空列表。 对于上面的JSON字符串,我想要一个将其id设置为13的对象,并将子元素设置为新的ArrayList 我知道如何为整个类使用注释 然后呢 但是,我想解决从字符串正确实例化列表的一般问题: 我能得到这样的东西吗?

  • 当使用ObjectMapper将json字符串转换为实体时,我可以将其设置为通用的: 现在让我们假设我想读集合。我可以做到: 我想写一个与上述方法等效的方法,但用于集合。因为java中不能有泛型数组,所以这样的东西是行不通的: 这里有一个几乎可行的解决方案: 问题是它没有反序列化为的列表,而是。有没有什么方法可以更进一步,如下所示?